#include <bits/stdc++.h> #include <hash_map> using namespace std; using namespace __gnu_cxx; #pragma GCC optimize(2) #define maxx 150000 hash_map<int, bool> M; int Ans[150010]; int Sans = 0; int Res(int x) { int cc = 0; while(x) { cc += (x%10)*(x%10); x /= 10; } return cc; } bool jud(int x) { if(M.count(x) != 0) { return M[x]; } M[x] = false; int cc = Res(x); if(jud(cc)) { M[cc] = true; M[x] = true; return true; }else { M[cc] = false; return false; } return false; } int main(int argc, char *argv[]) { freopen("G:\\data.txt", "r", stdin); M[1] = true; int t = 2; while(M.size() < 1000000) { jud(t); t++; } for(hash_map<int, bool>::iterator it = M.begin(); it != M.end(); it++) { if(it->second == true) { Ans[Sans++] = it->first; } } sort(Ans, Ans+Sans); int Q; cin >> Q; while(Q--) { int cc; cin >> cc; cout << Ans[cc-1] << endl; } // cout << Sans << endl; return 0; } /* */