#ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __cplusplus >= 201103L #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __cplusplus >= 201103L #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; using i64 = int64_t; using vi = vector; using vvi = vector; constexpr i64 MOD = 1000000000; int main() { long long n; cin >> n; long long l = 0, r = n + 1; while (l < r - 1) { long long m = (l + r) / 2; if (m * m <= n) { l = m; } else { r = m; } } for (int i = 0; i < 2 * l + 1; i++) { cout << (i % 2 == 0 ? "a" : "b"); } for (int i = 0; i < n - (2 * l + 1); i++) { cout << "cab"[i % 3]; } cout << endl; }