#include <algorithm> #include <cassert> #include <cmath> #include <cstdio> #include <cstring> #include <iomanip> #include <iostream> #include <map> #include <memory> #include <numeric> #include <set> #include <stack> #include <string> #include <vector> #include <functional> #define rep(i,a,b) for(int i=(a);i<(b);++i) #define MOD 1000000007 #define int long long using ll = long long; using namespace std; const int INF = 1LL << 50; using P = pair<int, int>; template <class T> bool chmin(T &a, T b) { if (a > b) { a = b; return true; } else { return false; } } template <class T> bool chmax(T &a, T b) { if (a < b) { a = b; return true; } else { return false; } } struct Setup { Setup() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(20); } } SETUP; int lotate(int cur, int nax, bool rev, bool skip = false) { int next = cur; if (rev) { if (skip) { if (next - 2 <= 0) { next = nax - 1; } else { next -= 2; } } else { if (next - 1 <= 0) { next = nax; } else { next -= 1; } } } else { if (skip) { if (next +2 > nax) { next = 1; } else { next += 2; } } else { if (next + 1 > nax) { next = 1; } else { next += 1; } } } return next; } signed main() { int n; cin >> n; vector<int> digits = { 1,2,5,10 }; if (n == 0) { puts("1"); } else if (n == 1) { rep(i, 0, 4) { cout << digits[i] << endl; } } else { rep(i, 0, 4) { cout << digits[i] << endl; } vector<int> as = { 20,25,50,100 }; int loop = n - 1; rep(i, 0, loop) { rep(j, 0, 4) { cout << as[j] * (int)pow(10,i) << endl; } } } }