/* -*- coding: utf-8 -*- * * 600.cc: No.600 かい文回 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ /* typedef */ typedef vector vi; typedef stack si; /* global variables */ /* subroutines */ /* main */ int main() { int n; cin >> n; if (n == 1) { puts("a"); return 0; } si q; while (n) { q.push(n & 1); n >>= 1; } //while (! q.empty()) printf("%d", q.top()), q.pop(); putchar('\n'); int p = 0; vi v; q.pop(); while (! q.empty()) { int d = q.top(); q.pop(); v.push_back(p); if (d == 1) p = (p + 1) % 26, v.push_back(p); } for (int i = v.size() - 1; i >= 0; i--) putchar(v[i] + 'a'); for (int i = 0; i < v.size(); i++) putchar(v[i] + 'a'); putchar('\n'); return 0; }