Problem:
イクタ君は速いプログラムが大好きである。最近は、除算のプログラムを高速にしようとしている。しかしなかなか速くならないので、「常識的に考えて典型的」な入力に対してのみ高速にすればよいと考えた。イクタ君が解こうとしている問題は次のようなものである。

与えられた非負整数nに対し、10進法でp(n) − 1桁の正整数11...1をp(n)で割ったあまりを求めよ。ただしp(n)は22{ . . . 2}（2がn個）より大きい最小の素数を表すとする。p(0) = 2とする。

あなたの仕事は、イクタ君より速くプログラムを完成させることである。

Input

入力は以下の形式で与えられる。

n

問題の入力の非負整数nがあたえられる。

Constraints

入力中の各変数は以下の制約を満たす。

0 ≤ n < 1000

Output

問題の解を1行に出力せよ。

Sample Input 1

0

Output for the Sample Input 1

1

n=0のとき、p(n) = 2 なので、1 mod 2 = 1 が解となる。

Sample Input 2

1

Output for the Sample Input 2

2

n=1のとき、p(n) = 3 なので、11 mod 3 = 2が解となる。

Sample Input 3

2

Output for the Sample Input 3

1

Solution in C++11 (judge verdict: Time Limit Exceeded)

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<vector>
#include<math.h>
#include<queue>
#include <algorithm>
#include<functional>
#include<cstdlib>
#include<cmath>


#define REP(i, n) for(int i = 0;i < n;i++)
#define REPR(i, n) for(int i = n;i >= 0;i--)
#define FOR(i, m, n) for(int i = m;i < n;i++)
#define FORR(i, m, n) for(int i = m;i >= n;i--)
#define CI cin >>
#define CO cout <<
#define E << endl;

using namespace std;

typedef pair<int, int> P;
typedef pair<long, long> LP;
typedef pair<int, P> PP;
typedef pair<long, LP> LPP;



int dy[] = { 0, 0, 1, -1, 0 };
int dx[] = { 1, -1, 0, 0, 0 };


int n;
int num;
int pn;
int ele;

void input(void) {
	CI n;
}

int n2(int i, int j, int x) {
	if (x == j) {
		return i;
	}

	
	i *= i;
	

	return n2(i, j, x + 1);
}

int main(void) {
	input();


	num = n2(2, n, 1);

	bool flag = false;
	bool end = false;

	if (n == 1) {
		CO 2 E
			return 0;
	}
	if (n == 0) {
		CO 1 E
			return 0;
	}

	while (true) {
		num += 1;
		for (int i = 2; i < num; i++) {
			flag = false;
			end = false;
			if (num % i == 0) {
				flag = true;
				break;
			}
			
			pn = i + 1;
			if (i == num - 1) {
				end = true;
				break;
			}
		}
		if (flag) {
			continue;
		}
		if (end) {
			break;
		}
	}
	ele++;
	for (int i = 0; i < pn - 1; i++) {
		ele += i * 10;
	}

	CO ele % num E


	return 0;
}