#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define PI 3.14159265359 #define INF 99999999 #define rep(i, n) for(int i=0; i P; char *endptr; int kazu = 0; int N; typedef pair PP; void bfs() { priority_queue, greater > que; que.push(PP(0, "")); while (true) { string s = que.top().second; que.pop(); //cout << "s = " << s << endl; if (s.length() > 25) break; ll num = strtoll(s.c_str(), &endptr, 10); //cout << "num = " << num << endl; if (num % 15 == 0) { kazu++; if (kazu == N) { cout << s << endl; break; } } que.push(PP(s.length() + 1, "3" + s)); que.push(PP(s.length() + 1, "5" + s)); } } int main() { cin >> N; bfs(); return 0; }