#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,n) for(int i=0; i=b; --i) #define ALL(c) (c).begin(), (c).end() typedef long long ll; typedef vector VI; typedef vector VL; typedef vector VVL; typedef vector VVI; typedef pair P; typedef pair PL; int main() { ll n; cin >> n; string ans; if (n == 1){ cout << "a" << endl; return 0; } VI d; ll hoge = n; while (hoge){ d.push_back(hoge % 2); hoge /= 2; } reverse(ALL(d)); // for (int x : d) cout << x; // cout << endl; VI a; int s = 0; FOR(i,1,d.size()-1){ if (d[i] == 1){ a.push_back(s); s = 0; }else{ s++; } } a.push_back(s); // for (int x : a) cout << x << endl; REP(i,a.size()){ char c = 'a' + (i % 26); int x; if (i == 0 || i == a.size() - 1){ x = a[i] + 1; }else{ x = a[i] + 2; } ans = string(x, c) + ans + string(x, c); } if (a.size() == 1) ans = string(2*a[0], 'a'); cout << ans << endl; return 0; }