#include #include #include #include #include #include #include #include #include #include #include #include //lcm #include //double精度 setprecision //#include using namespace std; //using namespace atcoder; #define rep(i,n) for(int i = 0; i < (n); ++i) #define rrep(i,n) for(int i = (n)-1; i >= 0; --i) #define rep1(i,n) for(int i = 1; i <= (n); ++i) #define rrep1(i,n) for(int i = (n); i >= 1; --i) #define REP(i,n,m) for(int i = (n); i < (m); ++i) #define all(vec) (vec).begin(),(vec).end() #define debug(vec) for(auto v : vec) cerr << v << " "; cerr << endl; #define debug2D(vec2D, w) for(auto vec : vec2D) { for (auto v : vec) cerr << setw(w) << v << " "; cerr << endl; } #define debugP(vec) for(auto v : vec) cerr << "(" << v.first << "," << v.second << ") "; cerr << endl; #define debug2DP(vec2D) for(auto vec : vec2D) { for (auto v : vec) cerr << "(" << v.first << "," << v.second << ") "; cerr << endl; } typedef long long ll; template using vvec = vector>; template using vvvec = vector>; constexpr ll INF = 1e14; //32 ~2*10^10 //64 ~9*10^19 //const ll MOD = 998244353; constexpr ll MOD = 1000000007; constexpr double EPS = 1e-6; const char en = '\n'; struct Edge { Edge(int _s, int _t, ll f, ll _cost = 1) : from(_s), to(_t), cost(_cost), fee(f) {}; int from, to; ll cost; ll fee; }; typedef vector> Graph; void add_edge(Graph& g, int from, int to, ll fee, ll cost = 1) { g[from].push_back(Edge(from, to, fee, cost)); } template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } else return false; } template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } else return false; } //int dx[4] = {0,1,0,-1}, dy[4] = {1,0,-1,0}; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); ll n; cin >> n; rep(i,n+2) if (i == 1) cout << '1'; else cout << '0'; cout << endl; }