#include <cstdio>
typedef unsigned long long ull;
const int N = 60;
void prt(ull k, int a, int b)
{
if (!k) return ;
if (k > 1) printf("%llu", k);
if (a) printf("a");
if (a > 1) printf("^%d", a);
if (b) printf("b");
if (b > 1) printf("^%d", b);
}
ull cal(int m, int n)
{
ull s = 1;
for (int i = n; i >= n - m + 1; i--)
s = s * i / (n - i + 1);
return s;
}
int main(void)
{
freopen("binomial.in", "r", stdin);
freopen("binomial.out", "w", stdout);
int n;
scanf("%d", &n);
if (n == 0) {
puts("1");
fclose(stdin);
fclose(stdout);
return 0;
}
prt(1, n, 0);
for (int i = n - 1; i >= 0; i--) {
printf("+");
prt(cal(i, n), i, n - i);
}
fclose(stdin);
fclose(stdout);
return 0;
}