#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int main() { int N; cin >> N; vector a; while (N--) for (;;) { int i; for (i = 0; i < a.size() && a[i]; i++); if (i == a.size()) a = vector(a.size() + 1); else { a[i] = true; for (int j = 0; j < i; j++) a[j] = false; } int cnt = 1; for (int i = 0; i < a.size(); i++) cnt += a[i]; if (cnt % 3 == 0) break; } for (int i = a.size() - 1; i >= 0; i--) cout << (a[i] ? '5' : '3'); cout << '5' << endl; }