首页 > 代码库 > poj 2739

poj 2739

Sum of Consecutive Prime Numbers
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 25919 Accepted: 14080

Description

Some positive integers can be represented by a sum of one or more consecutive prime numbers. How many such representations does a given positive integer have? For example, the integer 53 has two representations 5 + 7 + 11 + 13 + 17 and 53. The integer 41 has three representations 2+3+5+7+11+13, 11+13+17, and 41. The integer 3 has only one representation, which is 3. The integer 20 has no such representations. Note that summands must be consecutive prime 
numbers, so neither 7 + 13 nor 3 + 5 + 5 + 7 is a valid representation for the integer 20. 
Your mission is to write a program that reports the number of representations for the given positive integer.

Input

The input is a sequence of positive integers each in a separate line. The integers are between 2 and 10 000, inclusive. The end of the input is indicated by a zero.

Output

The output should be composed of lines each corresponding to an input line except the last zero. An output line includes the number of representations for the input integer as the sum of one or more consecutive prime numbers. No other characters should be inserted in the output.

Sample Input

2317412066612530

Sample Output

11230012

Source

Japan 2005
/** @Author: Lyucheng* @Date:   2017-08-02 10:31:45* @Last Modified by:   Lyucheng* @Last Modified time: 2017-08-02 10:46:03*//* 题意:给你一个2-10000的数,问你这个数有多少种连续素数序列能组成这个数 思路:暴力打表*/#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>#define MAXN 10001using namespace std;// bool prime[MAXN];// int p[MAXN];// int tol;// void init(){//     tol=0;//     for(int i=0;i<MAXN;i++){//         prime[i]=true;//     }//     prime[0]=prime[1]=false;//     for(int i=2;i<MAXN;i++){//         if(prime[i]) //             p[tol++]=i;//         for(int j=0;j<tol&&i*p[j]<MAXN;j++){//             prime[i*p[j]]=false;//             if(i%p[j]==0) break;//         }//     }// }// std::vector<int> v;int vis[MAXN]={0,0,1,1,0,2,0,1,1,0,1,1,1,1,0,1,0,2,1,1,0,0,0,2,1,0,1,0,1,1,1,2,0,0,0,0,2,1,0,1,0,3,1,1,0,0,0,1,1,1,0,0,1,2,0,0,1,0,1,2,2,1,0,0,0,0,0,2,1,0,0,2,2,1,0,1,0,1,1,1,0,0,0,3,1,0,0,0,1,1,2,0,0,0,0,1,0,2,1,0,2,2,1,1,0,0,0,1,0,2,0,0,2,1,0,0,0,0,0,2,2,1,0,0,1,0,0,2,1,1,0,2,1,0,0,0,0,1,2,2,0,0,0,2,1,0,0,0,0,1,1,1,2,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1,2,0,0,0,0,0,1,2,2,0,0,1,0,1,2,0,0,0,1,1,1,0,1,0,3,1,3,0,0,1,0,2,0,0,0,0,0,2,2,0,0,0,0,1,0,0,0,1,2,1,3,0,0,0,1,2,1,0,0,0,2,0,1,1,0,1,1,3,1,0,1,0,0,0,0,0,0,0,3,1,1,0,0,0,1,2,0,0,0,0,2,1,0,0,0,1,2,1,2,1,0,0,0,2,1,0,1,1,3,0,1,0,0,0,3,1,0,1,0,0,1,0,0,0,0,0,0,2,1,0,0,2,0,1,1,1,0,0,5,0,1,0,0,0,1,1,1,1,0,0,2,1,0,1,0,1,1,2,2,0,0,0,0,0,1,0,0,3,1,0,0,0,0,0,1,1,2,0,1,1,2,0,0,0,0,1,1,1,0,0,1,1,0,0,1,0,0,1,3,2,2,0,0,1,0,0,2,0,1,1,1,2,0,0,0,0,1,2,0,0,0,0,2,1,1,0,1,0,3,0,0,0,0,0,1,2,1,2,0,1,0,0,0,0,0,0,1,1,2,0,1,1,1,0,0,0,0,1,2,1,1,2,1,0,0,1,3,1,0,1,2,0,0,0,0,0,2,1,0,0,0,0,0,2,2,0,0,1,1,2,2,0,0,0,1,1,0,0,1,1,2,1,0,0,0,0,2,2,0,0,0,1,0,0,2,0,0,0,3,2,1,0,0,1,1,0,2,0,1,0,2,0,0,0,0,2,1,3,0,0,0,0,1,0,1,0,1,1,1,1,2,0,0,0,1,0,0,0,0,1,2,1,0,0,0,0,1,2,1,0,0,0,0,1,1,1,0,0,2,2,1,0,0,1,1,2,2,0,0,1,2,1,1,1,0,1,1,0,1,0,0,0,0,2,1,0,0,1,2,1,1,0,0,0,2,0,1,0,0,0,3,1,0,1,0,1,1,1,1,0,0,0,0,1,2,0,0,0,1,1,1,0,0,0,2,1,1,2,0,1,0,1,1,0,0,0,1,2,2,0,1,1,2,1,1,1,1,0,1,0,1,0,0,0,2,1,0,0,0,0,1,1,0,0,0,0,2,3,2,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,2,0,2,0,0,2,2,2,0,0,0,0,2,1,2,0,0,0,1,2,0,0,0,1,2,2,0,0,0,0,2,0,1,1,0,2,1,2,0,0,0,0,2,0,1,0,0,2,1,1,1,0,0,0,1,2,3,0,0,0,0,0,1,1,0,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,2,0,1,0,1,2,2,0,0,1,0,1,1,0,1,1,1,2,0,0,0,0,1,2,1,0,0,0,0,2,2,0,2,0,2,0,0,0,0,1,2,1,0,1,0,1,3,0,0,0,0,0,1,1,2,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,2,1,2,1,0,0,2,2,0,0,0,0,2,1,2,0,0,0,0,2,0,0,0,0,0,1,1,0,0,0,3,0,1,1,0,0,5,3,0,0,0,0,1,1,0,2,0,1,0,0,1,0,0,1,2,1,3,0,0,1,1,1,0,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,2,1,1,0,0,0,2,2,0,0,0,0,1,1,1,0,0,1,1,1,0,1,0,2,2,1,3,0,0,0,1,1,1,0,0,0,3,1,0,0,0,2,2,0,0,0,0,0,2,1,0,0,0,1,0,2,3,0,1,2,0,2,1,0,0,0,1,0,0,0,0,0,2,1,1,0,0,0,3,0,1,0,0,1,0,3,3,0,0,0,0,0,1,0,0,0,1,2,0,0,0,0,0,1,1,0,0,3,1,0,1,0,0,0,2,1,1,0,1,0,2,1,1,0,0,1,1,2,2,0,0,0,0,0,1,2,0,0,2,1,0,0,0,0,2,1,1,0,0,1,1,1,1,1,0,3,3,0,2,1,0,0,2,0,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,2,0,0,1,1,1,1,1,1,1,0,0,0,1,1,3,0,0,0,2,3,0,0,0,0,1,0,0,1,0,2,1,0,1,0,1,2,0,0,2,0,0,0,0,0,1,0,0,1,2,1,2,0,0,0,2,2,0,0,0,1,0,0,0,1,0,0,4,2,2,1,0,1,0,0,1,0,1,0,2,4,0,0,0,0,2,0,2,1,0,1,0,0,0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,1,2,2,0,0,1,0,1,1,1,0,0,0,0,1,1,1,0,0,2,2,2,1,0,1,1,0,1,1,1,0,2,1,0,0,0,0,2,1,1,0,0,0,0,3,1,0,0,0,0,2,0,0,0,0,2,1,2,2,1,0,1,1,0,0,0,0,2,0,0,1,0,1,1,1,1,0,0,0,2,2,0,0,0,1,1,1,1,1,2,0,3,1,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,1,1,0,2,0,0,0,1,0,0,0,1,2,3,0,1,0,0,0,1,4,2,1,0,0,0,0,1,0,0,1,1,1,0,1,0,1,1,0,1,0,0,0,1,0,0,0,0,0,2,2,2,0,0,1,1,0,0,0,0,1,3,2,0,1,0,1,4,0,1,0,1,0,1,1,0,1,0,0,0,1,3,0,0,0,0,1,0,0,0,0,1,3,0,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,2,1,1,0,0,0,2,0,0,0,0,2,0,1,2,0,0,0,1,2,1,0,0,0,3,1,0,0,0,0,3,0,2,0,0,1,0,1,1,0,0,1,1,2,1,0,0,0,1,0,2,1,0,0,1,2,0,0,0,0,0,2,1,1,0,0,2,0,1,2,1,2,1,2,2,1,1,0,2,1,1,0,0,0,3,2,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,3,0,0,0,0,1,0,1,1,1,0,0,3,3,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,1,1,2,0,0,1,0,2,1,0,0,2,3,0,1,0,0,0,2,2,1,0,0,1,1,0,1,0,0,2,1,0,0,1,0,1,0,0,2,0,0,0,2,1,1,1,0,2,0,0,2,0,1,0,0,2,1,0,0,0,2,0,1,0,0,1,3,0,2,0,1,0,2,0,0,0,0,1,1,2,2,1,0,0,0,2,1,0,0,0,0,1,0,0,0,1,2,0,0,0,0,0,3,2,2,0,0,0,0,4,0,0,0,1,0,1,1,0,0,1,0,1,1,0,0,0,2,1,1,1,0,0,1,1,0,0,1,0,1,1,1,0,0,0,0,0,2,0,1,0,2,2,1,0,0,0,1,0,1,0,0,0,2,2,0,0,1,1,1,3,0,2,1,0,2,2,2,1,0,1,1,2,1,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,0,1,2,2,0,0,1,1,2,3,0,0,0,1,2,1,0,0,0,0,2,0,0,0,0,0,1,0,0,0,1,2,0,1,0,1,0,0,0,1,1,0,1,2,3,1,0,2,0,3,1,0,0,0,0,1,1,3,1,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,1,0,0,1,0,3,1,0,0,0,1,1,2,2,0,0,1,0,1,1,0,0,0,1,0,1,0,0,2,1,2,2,0,2,0,0,4,0,0,0,0,2,0,2,0,0,0,0,1,2,0,1,1,1,2,2,0,0,0,1,1,1,0,0,0,0,0,0,0,0,2,2,0,2,0,0,0,2,1,0,0,0,2,3,0,1,0,0,0,1,0,0,0,1,0,1,1,1,1,0,1,0,1,1,0,0,1,0,2,0,0,0,2,2,0,1,0,0,0,1,1,0,1,0,0,1,0,1,0,1,2,2,0,4,0,0,0,0,3,0,0,1,2,0,0,0,0,0,0,2,0,0,0,1,0,2,2,0,0,0,1,2,2,1,1,1,0,0,1,2,2,0,0,0,0,2,1,1,0,1,1,2,0,0,2,1,0,0,1,0,0,0,0,3,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,3,0,1,1,0,2,1,1,1,0,0,1,1,3,0,0,0,0,1,1,1,0,0,1,1,1,2,0,0,1,0,0,0,0,0,0,1,1,1,0,0,1,2,0,0,1,0,0,1,2,1,0,1,0,2,0,2,1,0,1,1,1,1,0,0,0,0,1,0,0,0,0,3,2,1,0,0,0,2,0,0,1,0,2,3,2,2,0,0,1,1,0,0,0,0,1,1,2,1,0,1,0,2,0,1,2,0,0,0,0,1,0,0,0,2,1,2,1,0,1,1,1,0,0,0,1,1,0,2,1,0,1,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,3,1,0,0,1,1,0,0,0,0,1,1,0,1,0,1,1,0,0,0,2,1,0,1,3,0,0,1,1,1,2,0,0,1,2,1,1,0,0,1,0,0,2,0,0,0,0,1,0,0,0,1,0,0,1,1,1,1,1,1,2,1,0,0,1,1,0,1,0,1,1,2,2,1,1,0,0,1,0,0,1,1,0,0,2,0,0,1,3,0,2,0,1,0,2,1,1,1,0,0,0,2,1,0,0,0,0,1,2,1,0,0,0,1,1,0,0,1,2,1,0,0,1,0,3,3,1,0,1,1,1,1,2,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,2,1,1,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0,0,2,2,0,1,1,2,1,0,0,0,1,3,1,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,2,1,1,1,0,0,2,1,1,2,0,1,1,3,0,1,0,0,1,4,1,0,0,0,1,2,1,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,3,0,1,1,0,1,2,1,1,0,1,0,0,1,0,1,0,0,1,3,1,1,0,1,2,0,2,0,1,0,1,1,0,1,0,1,0,0,2,1,0,0,2,2,1,0,0,0,0,1,1,1,0,0,1,0,1,1,1,0,2,1,1,2,0,0,0,2,1,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,1,0,0,0,3,2,1,0,0,0,0,1,0,0,0,0,1,0,2,0,1,0,0,1,1,0,0,1,1,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,1,2,1,1,1,0,1,2,3,1,0,0,0,0,2,1,1,0,0,2,0,1,0,0,1,2,1,0,0,0,1,3,1,0,2,0,2,0,3,2,1,0,0,1,0,1,0,0,0,1,1,1,0,0,1,2,1,1,0,0,0,1,1,0,2,0,0,0,1,1,1,0,1,2,0,0,0,0,1,1,0,0,0,0,1,2,2,0,0,0,0,0,1,2,0,1,0,0,1,4,1,0,0,1,1,1,0,0,1,2,1,1,0,0,0,1,0,0,0,0,0,0,3,1,0,1,0,2,1,2,0,0,0,0,1,1,0,0,1,1,1,4,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,1,3,1,0,0,0,1,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,0,1,1,1,3,0,0,0,1,0,2,0,0,2,1,1,1,0,1,0,2,0,1,0,0,2,1,2,0,0,1,0,2,1,1,0,0,2,1,1,1,0,0,1,1,0,1,0,0,1,3,0,0,1,0,0,0,1,2,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,0,1,2,2,0,1,1,1,0,2,1,1,0,0,2,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,3,0,1,0,2,2,1,0,1,0,1,1,1,1,1,0,0,0,0,4,1,0,0,0,1,1,0,1,1,0,4,2,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,1,3,1,1,0,1,2,0,0,0,0,0,3,1,0,1,0,0,1,2,1,0,0,0,2,1,1,2,0,2,1,1,1,1,0,0,0,1,1,0,1,2,3,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,1,0,0,0,0,1,2,2,0,0,0,3,2,0,0,0,0,3,1,1,1,0,2,1,1,2,0,0,0,0,1,0,0,0,1,0,1,0,1,1,0,2,0,0,2,0,1,1,1,1,0,1,0,2,1,1,0,0,0,1,0,1,0,0,3,1,1,1,0,0,0,1,0,2,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,3,2,1,1,2,0,0,0,0,2,0,1,1,1,0,0,1,1,0,0,1,0,1,1,1,0,1,0,1,2,2,1,1,2,1,1,2,2,0,0,1,0,1,0,0,1,2,0,2,0,2,0,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,1,2,0,0,0,0,0,3,1,3,0,0,0,1,2,0,0,1,0,0,0,1,0,0,0,3,1,1,0,0,0,0,1,1,0,0,0,0,2,1,0,0,2,0,0,0,1,0,0,1,2,1,0,0,3,3,1,1,0,0,0,0,1,1,0,0,0,1,1,3,0,0,0,1,0,1,1,1,0,2,1,1,0,1,0,0,4,0,0,0,0,1,1,0,0,0,2,2,0,0,0,0,0,1,1,1,0,2,0,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,1,2,0,1,0,0,1,0,0,1,2,1,1,2,2,1,2,0,0,1,2,1,1,0,2,0,3,4,0,2,0,0,0,0,2,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,2,1,1,0,0,0,2,3,1,0,0,1,1,0,1,0,1,2,0,0,2,0,0,1,0,2,1,1,2,0,2,1,0,0,0,0,2,2,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,3,2,2,1,0,0,2,0,0,0,1,0,1,0,1,2,0,0,0,0,0,0,1,1,1,0,1,0,0,1,0,2,0,0,0,0,0,2,1,0,1,0,4,2,2,0,0,0,0,2,3,0,0,1,1,0,2,0,0,1,1,3,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,2,1,0,0,0,0,2,0,1,2,0,1,1,1,0,0,0,1,2,0,2,1,1,1,0,1,1,0,0,0,0,0,2,2,0,0,2,2,1,1,0,1,0,2,0,2,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,1,1,0,2,2,0,0,3,1,0,0,0,0,1,0,1,2,0,1,2,1,3,0,0,0,0,0,0,1,0,0,2,2,1,0,0,0,2,1,0,1,0,1,2,0,2,0,1,1,0,0,2,0,0,1,0,0,0,1,0,0,1,1,1,1,2,0,0,2,0,0,0,0,0,1,2,0,0,0,0,2,0,1,0,1,2,0,1,0,0,0,2,3,1,2,1,0,2,0,0,0,1,0,0,1,2,0,0,1,0,0,2,0,0,1,0,2,1,1,0,0,3,0,0,0,1,0,1,2,0,0,1,1,1,2,2,0,1,2,0,2,2,1,0,0,0,0,2,0,0,0,2,0,0,0,0,0,1,2,0,1,0,1,2,0,1,0,0,0,0,1,0,1,1,0,3,0,1,0,0,0,1,1,0,0,0,0,2,0,0,0,1,1,0,0,2,0,2,2,0,2,2,1,0,1,2,1,1,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,3,2,2,0,0,1,0,1,0,0,0,0,2,2,0,0,0,0,1,1,2,1,0,0,2,1,0,0,4,1,1,2,0,0,0,2,0,0,1,0,0,1,1,1,0,0,0,2,0,0,1,0,1,1,1,1,0,1,0,1,0,2,0,0,3,0,0,2,0,0,0,1,1,1,0,0,0,2,1,1,0,0,2,0,1,1,0,0,1,1,0,0,0,0,1,3,1,1,0,1,1,0,1,1,0,2,0,1,1,0,0,1,1,1,0,0,1,0,1,1,1,2,0,0,1,2,0,3,1,0,1,0,0,0,0,0,0,2,1,0,0,0,3,1,3,1,0,0,1,1,1,2,0,0,0,1,1,0,0,0,0,1,0,2,0,0,0,0,0,1,0,0,2,2,2,2,0,0,1,0,0,1,0,0,0,3,0,0,0,0,0,1,0,1,0,1,1,1,1,2,0,0,1,2,0,1,0,0,1,1,1,2,1,0,0,0,0,1,0,0,1,2,1,1,0,1,1,1,2,0,3,0,0,0,0,0,0,0,0,0,1,3,0,0,2,2,0,0,0,0,0,1,0,2,2,0,0,0,1,0,0,1,0,2,1,0,0,0,0,0,2,1,1,0,1,1,2,1,0,1,1,1,0,1,1,1,1,1,2,0,0,3,1,1,0,1,1,1,1,1,1,1,2,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,2,0,0,0,1,1,0,1,0,0,1,1,1,3,0,1,0,2,3,0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,2,0,0,1,0,3,1,3,0,0,0,3,1,2,0,1,0,0,1,0,0,0,0,1,3,2,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,2,0,1,0,0,1,1,2,1,1,0,0,2,0,0,0,0,1,1,0,0,0,0,2,1,2,2,1,0,0,2,0,2,1,0,0,0,1,0,0,0,0,1,1,1,1,1,1,0,2,2,0,0,1,1,1,0,0,0,1,0,1,2,0,0,0,0,0,0,0,1,0,1,4,1,0,0,0,1,0,0,1,0,2,2,0,0,0,0,0,3,1,1,0,1,1,0,2,1,0,2,0,2,2,2,1,0,0,0,0,2,0,0,0,2,2,2,1,0,0,1,0,2,0,0,1,2,0,0,0,0,0,2,1,1,0,0,1,1,0,1,1,0,0,2,0,1,0,0,0,0,2,1,3,0,0,1,2,0,2,1,0,2,1,0,0,0,0,0,1,2,0,0,0,1,1,0,0,0,0,1,0,2,1,0,0,0,1,0,0,0,1,1,1,0,0,0,0,2,1,1,1,1,1,1,0,1,0,0,0,3,1,1,2,0,0,0,1,0,0,0,0,1,2,1,0,0,0,1,0,2,0,1,0,3,1,3,1,0,0,0,1,1,2,1,0,1,0,0,0,0,0,0,2,0,1,1,1,0,0,2,0,0,0,2,1,0,1,0,0,2,0,0,0,0,1,0,0,1,1,0,0,1,2,2,1,0,0,0,1,0,0,1,1,2,0,2,0,0,1,0,2,0,0,0,0,2,2,3,1,0,1,0,0,1,0,2,1,0,0,1,2,0,1,3,1,0,0,1,0,2,2,2,0,0,0,1,2,0,0,0,0,2,0,0,0,0,1,0,2,0,2,1,0,2,1,1,1,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,0,2,0,1,2,0,1,3,0,0,0,0,1,1,0,0,0,1,1,2,2,0,1,1,0,0,0,0,0,1,0,0,1,1,0,2,1,0,0,0,0,0,1,0,0,1,0,1,1,3,0,0,0,2,3,0,1,1,0,1,1,2,0,0,1,2,1,1,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,0,1,3,1,0,0,1,1,3,0,0,1,1,0,0,0,0,1,2,0,0,2,0,1,0,2,2,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,3,2,2,1,0,0,1,3,1,0,0,0,1,2,2,0,1,0,0,1,1,0,1,1,2,0,1,0,0,1,0,1,1,0,1,1,2,0,0,0,1,0,2,1,1,0,0,0,0,0,0,1,0,0,3,0,0,0,0,2,2,1,1,0,0,1,1,1,0,0,1,2,0,1,1,0,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,3,2,0,0,1,2,0,0,2,1,0,0,0,0,0,1,0,3,1,0,2,0,1,2,0,0,0,0,1,0,1,3,0,0,1,2,1,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,1,2,1,0,1,0,1,1,2,0,0,1,1,2,1,0,0,2,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,1,1,3,0,0,0,0,0,0,1,2,1,0,2,1,1,1,0,1,1,0,2,0,0,0,1,2,0,1,0,0,0,1,1,1,0,1,0,2,1,0,0,0,1,0,2,1,1,0,0,2,0,2,0,0,0,2,0,0,1,0,0,2,2,1,2,1,2,2,0,1,1,0,3,2,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,2,4,2,0,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1,2,2,0,1,0,0,1,3,1,1,0,0,0,1,4,0,0,0,0,0,1,0,0,1,2,0,3,0,0,1,1,0,0,1,0,0,1,1,0,0,0,0,0,0,2,1,0,0,1,1,2,1,0,0,0,1,3,0,0,0,1,0,0,0,0,1,3,0,1,0,0,2,0,0,1,1,3,1,3,2,1,1,0,0,0,1,2,0,0,0,0,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,4,0,0,1,0,3,0,0,0,1,2,1,1,0,0,2,0,1,1,0,0,0,2,2,0,0,1,0,1,2,2,0,0,1,1,0,0,1,0,1,1,4,1,0,0,0,2,0,2,1,0,1,0,2,1,0,2,0,2,2,2,0,2,0,0,0,0,0,0,1,1,0,0,0,0,0,2,1,0,0,0,0,0,2,1,0,0,0,1,1,1,1,0,0,4,1,0,0,0,0,1,2,1,0,1,0,0,0,1,0,1,1,1,0,1,1,0,0,2,3,1,0,0,0,0,1,0,0,0,2,1,2,1,1,1,0,0,0,2,1,1,0,0,1,1,0,0,0,1,3,1,0,1,0,0,0,1,0,1,0,0,1,2,0,0,0,0,2,1,0,0,2,1,0,2,0,1,0,1,1,0,0,2,0,0,0,0,0,0,0,0,3,0,0,1,3,1,0,0,0,1,0,3,2,1,0,1,0,1,0,0,0,0,1,2,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,2,1,2,2,0,0,2,1,2,0,1,0,0,2,1,1,0,0,1,2,0,0,0,0,0,0,2,2,0,1,0,0,2,1,0,0,0,0,1,1,0,1,1,2,1,0,0,2,0,0,1,1,0,0,1,1,2,2,2,0,1,2,0,0,0,0,0,0,0,1,1,1,1,0,0,2,0,0,0,1,1,1,0,0,0,2,2,1,0,0,0,1,1,0,0,0,0,1,1,0,2,0,2,2,0,2,0,0,2,1,0,1,1,2,1,0,1,1,0,0,1,0,0,2,0,0,1,1,1,1,0,2,0,1,1,0,0,0,1,1,3,1,1,0,0,1,1,2,0,0,1,1,1,1,0,0,1,0,1,2,0,0,0,1,1,0,0,0,0,0,2,0,0,0,1,1,0,1,0,1,0,3,1,0,0,0,0,1,1,1,0,0,1,2,0,0,0,0,0,1,2,1,0,1,0,2,0,0,0,1,1,2,2,1,0,0,0,2,1,0,0,0,1,1,2,0,0,0,1,2,2,2,0,0,0,0,0,1,1,0,1,2,0,0,0,0,0,1,0,1,0,1,0,0,2,0,0,1,2,3,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,3,2,1,0,1,2,1,0,1,0,1,0,1,3,2,0,0,2,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,1,0,0,0,0,1,2,0,0,0,0,0,0,1,0,2,1,2,0,0,2,2,2,2,0,0,0,1,0,0,0,0,2,1,1,2,0,0,0,1,0,1,0,0,1,2,1,1,0,0,0,2,1,1,0,1,0,0,0,0,0,0,1,2,2,1,0,1,1,1,0,0,0,0,1,0,0,3,1,0,0,0,1,1,0,1,1,2,1,0,0,1,1,1,1,2,1,0,1,0,2,0,2,1,0,2,1,0,0,0,1,2,1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,1,1,0,1,2,0,1,0,0,0,0,1,1,0,1,0,3,0,0,1,0,0,2,0,0,1,0,1,0,2,1,0,1,4,2,1,0,0,0,0,2,0,1,0,0,0,1,1,0,1,0,0,1,1,2,0,0,0,0,0,0,1,0,2,1,1,1,1,0,1,1,0,0,3,0,1,3,0,0,0,0,0,1,1,1,1,1,1,2,2,2,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,2,1,0,0,0,3,3,1,1,0,0,0,2,0,1,0,0,1,1,0,1,1,0,1,1,0,1,0,0,0,1,0,0,0,2,1,1,1,1,0,0,1,3,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,0,0,3,0,1,0,1,0,0,2,0,0,0,0,0,0,0,0,0,1,2,1,1,0,0,0,2,1,0,1,0,2,1,1,0,0,1,1,2,3,0,0,0,1,0,0,0,0,0,0,0,2,2,0,0,0,1,0,1,1,0,1,0,1,0,0,0,1,0,2,0,0,0,0,1,0,2,0,2,2,3,0,0,1,0,0,2,0,1,0,0,1,0,1,0,1,0,1,4,1,1,0,0,1,0,0,1,0,0,2,2,3,2,1,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,2,1,0,1,0,0,0,1,0,0,1,0,1,2,1,1,0,3,0,0,1,0,0,2,0,1,0,1,0,0,1,0,0,0,2,1,0,1,0,0,0,2,1,3,0,0,2,0,1,3,1,2,0,1,0,0,0,0,0,1,3,1,0,0,0,1,0,0,0,0,3,1,0,0,0,0,1,2,2,0,1,0,0,2,1,1,0,1,0,1,0,2,0,1,1,0,1,0,1,0,0,2,0,2,0,0,1,1,1,0,0,1,0,1,0,0,3,1,1,1,0,1,0,0,1,2,1,1,1,0,0,1,1,2,1,0,0,0,0,1,0,0,2,2,0,0,1,0,2,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,1,2,1,0,0,0,2,1,1,0,1,0,0,1,1,1,1,2,1,0,2,1,0,1,1,2,2,0,2,0,1,0,0,0,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,0,1,0,0,0,3,3,1,0,1,1,1,2,1,0,1,0,1,0,1,1,1,0,1,1,1,0,0,1,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,1,1,0,2,2,2,2,0,0,1,2,0,0,2,2,3,0,1,0,0,0,2,0,0,1,1,0,2,0,0,0,0,3,1,3,1,1,1,0,0,2,1,1,0,1,0,0,1,0,0,0,1,0,1,2,0,1,2,0,0,0,0,1,1,2,1,0,1,0,0,0,1,1,1,0,1,0,3,0,0,0,1,1,2,2,0,0,0,1,0,0,1,1,2,1,0,0,0,2,1,1,2,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,1,2,2,0,1,0,1,1,0,1,2,1,0,0,0,1,1,2,1,1,0,1,0,0,1,2,0,0,2,2,1,1,0,0,0,2,0,1,0,1,0,1,1,0,1,0,1,0,0,2,0,0,1,1,0,0,0,0,0,1,3,2,1,0,0,0,0,0,0,1,0,3,1,1,0,0,0,1,0,1,2,1,3,0,4,0,0,0,0,1,2,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,1,0,2,2,1,0,0,2,0,0,0,2,0,3,0,1,1,0,0,0,1,0,0,1,0,0,0,0,2,2,1,1,0,2,0,0,0,2,0,2,2,1,0,0,2,0,0,1,1,3,1,1,0,1,1,0,1,0,0,2,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,0,1,2,0,1,1,1,0,0,1,1,0,0,0,2,0,0,1,0,2,0,2,1,1,2,0,1,1,0,0,0,1,0,0,1,1,0,0,1,0,1,2,3,1,0,0,0,0,0,0,1,0,0,1,0,2,1,0,0,0,1,1,0,0,1,0,1,1,0,1,1,1,1,1,1,1,0,1,0,1,0,1,0,2,0,1,0,0,2,1,1,1,1,1,0,0,0,1,0,0,1,2,1,0,0,0,0,0,1,0,0,0,0,1,2,2,0,0,1,1,0,1,0,1,0,0,2,1,1,0,1,2,2,1,1,1,1,0,0,0,1,0,1,2,2,2,0,0,1,1,0,0,1,0,0,0,1,0,1,0,0,3,1,1,1,0,0,0,0,1,0,2,0,1,0,2,0,1,0,0,2,0,0,0,1,1,1,0,0,0,0,2,0,1,1,2,0,0,0,0,0,0,1,1,0,2,0,1,2,1,1,2,0,0,0,1,0,0,1,0,0,2,0,3,1,0,0,1,1,0,0,1,2,0,1,1,0,0,0,1,1,1,2,1,2,1,0,1,0,0,1,1,2,2,0,0,0,0,0,2,1,0,0,2,1,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,2,2,0,0,1,1,1,1,1,1,0,0,1,2,0,0,0,0,3,2,0,0,0,1,1,1,1,0,0,0,1,2,1,0,0,0,0,1,0,1,1,1,1,0,0,2,0,0,2,2,2,0,0,0,1,0,1,0,0,1,1,2,1,0,0,0,0,0,1,0,0,0,2,0,0,2,0,0,1,1,0,0,1,0,2,1,1,1,1,0,3,1,2,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,0,0,0,1,2,1,3,1,1,0,1,0,2,1,0,0,0,0,0,0,2,1,0,0,0,0,1,0,0,1,1,0,3,0,1,1,1,1,0,0,0,2,0,0,1,1,0,1,1,3,2,0,0,1,0,1,0,1,0,0,1,1,1,0,0,2,0,0,1,0,0,1,3,1,1,0,1,0,1,0,1,1,0,1,1,1,0,0,0,2,0,0,0,1,1,1,1,2,1,1,1,1,1,0,0,0,1,1,0,2,0,0,0,0,3,1,1,1,0,0,1,1,3,1,2,0,0,1,0,2,1,0,1,0,2,0,0,0,0,1,2,0,0,2,3,2,1,0,0,0,0,0,1,1,2,0,0,1,2,0,0,0,0,0,0,0,1,0,1,1,1,0,0,1,1,0,0,1,0,0,2,1,0,0,2,1,1,2,1,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,2,1,1,0,1,0,1,1,1,1,1,1,1,1,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,1,1,0,2,0,0,0,2,1,2,0,1,0,1,2,0,2,1,1,2,0,0,1,0,0,0,1,0,1,0,3,1,1,0,0,0,1,3,0,1,1,1,0,1,0,1,1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,2,0,0,1,0,1,0,1,0,0,2,0,2,1,0,1,3,0,0,1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,0,1,2,1,2,1,0,0,2,0,2,2,1,0,0,0,1,0,0,0,0,2,0,1,0,0,1,0,0,2,1,0,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,2,0,1,0,1,0,0,1,0,0,1,2,2,1,0,2,0,0,0,0,1,0,2,3,2,2,0,2,1,0,1,3,3,1,0,1,0,0,0,0,0,1,2,1,0,0,1,2,0,1,0,0,0,0,1,0,0,0,2,1,2,0,0,0,0,4,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,0,0,1,0,1,3,1,0,0,0,1,0,1,0,2,1,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,2,1,1,0,1,1,0,1,1,0,0,0,1,0,1,2,0,1,1,1,0,0,2,1,0,1,0,0,2,1,1,0,2,0,0,1,1,1,0,1,1,2,1,0,0,0,1,2,1,2,0,0,0,1,0,2,1,1,1,1,0,2,0,1,1,0,0,0,0,0,1,2,1,1,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,2,1,0,0,0,0,0,0,1,1,3,1,2,0,0,0,3,0,0,2,1,0,2,1,0,0,0,0,1,0,2,2,0,3,0,0,1,0,1,0,1,0,1,1,0,2,0,0,1,0,1,0,2,1,0,0,0,0,3,0,1,1,0,1,0,1,2,1,0,2,0,0,0,1,0,0,0,0,1,0,1,1,2,0,0,1,0,2,0,1,1,1,0,1,1,1,3,0,1,0,1,0,1,1,0,0,2,2,3,0,1,0,1,1,0,0,1,1,0,0,0,0,1,0,0,2,1,0,1,1,0,0,1,0,0,2,3,0,0,1,0,2,1,1,1,0,0,0,1,2,2,0,0,1,0,0,1,0,0,0,2,0,1,0,0,0,1,2,1,2,0,0,2,3,0,0,0,1,0,1,2,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,2,0,3,0,1,1,0,0,2,1,0,0,1,1,0,2,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,1,1,0,1,0,2,2,3,1,0,0,1,0,2,2,0,1,0,1,1,1,0,0,0,0,1,2,0,0,1,2,2,0,0,0,0,1,1,1,0,0,0,0,0,1,2,0,0,1,1,0,3,1,0,0,1,3,1,0,0,1,1,0,1,0,0,0,0,2,0,0,0,1,0,0,1,0,1,0,4,0,0,0,1,0,1,2,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0,0,2,1,1,1,0,0,1,3,2,0,0,1,1,1,0,1,0,2,0,1,1,1,0,2,3,0,3,0,0,0,2,1,0,2,0,1,0,1,0,0,0,0,1,1,1,2,1,1,1,1,1,1,1,0,1,0,1,1,0,0,1,0,1,2,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,1,3,2,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,1,2,1,0,0,0,0,1,1,1,1,0,0,1,0,2,2,1,2,1,0,1,0,1,0,1,0,3,1,2,0,0,0,0,2,0,0,0,2,3,0,1,0,0,0,0,1,1,1,0,0,3,0,0,1,0,0,1,0,2,0,0,0,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,0,2,3,0,1,1,2,3,0,1,0,0,0,2,0,0,1,0,0,0,2,2,0,0,1,2,0,0,0,0,2,0,2,1,0,0,2,1,1,0,0,1,4,1,0,0,0,0,0,0,0,3,1,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,2,1,2,0,0,2,0,0,0,0,0,0,2,1,0,0,1,1,0,1,1,1,2,0,1,0,1,0,2,1,2,1,0,0,1,1,0,0,1,0,1,1,2,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,0,0,3,0,0,1,1,0,1,0,1,0,0,2,0,2,0,2,3,1,2,2,1,0,2,2,0,0,3,1,0,1,2,0,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,2,1,1,2,0,0,1,2,1,0,0,1,0,1,2,0,0,0,0,1,1,2,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,2,1,0,1,1,2,0,1,1,1,0,0,3,1,0,0,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,0,1,1,2,0,0,0,0,0,1,0,0,2,1,1,0,0,2,1,0,0,0,1,0,0,1,1,1,1,3,1,0,1,0,0,0,2,1,0,0,0,1,0,0,1,0,0,0,0,0,0,2,3,0,0,2,0,1,0,3,0,0,1,2,0,1,0,0,1,1,0,1,0,0,0,1,1,0,0,0,1,0,0,1,0,0,0,1,2,0,0,0,2,2,0,1,1,0,1,1,3,1,0,2,0,1,0,2,2,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,0,1,0,0,0,1,0,1,2,0,2,0,3,2,0,1,0,1,0,2,2,1,0,0,2,0,1,1,0,0,0,1,1,0,0,0,0,2,1,1,0,2,0,1,1,0,2,0,0,2,2,2,1,0,1,0,1,0,0,0,2,0,0,1,1,3,0,1,1,2,0,0,2,1,1,1,0,1,0,2,2,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,1,2,3,2,0,0,1,0,0,1,0,0,0,1,0,1,2,0,0,0,1,0,0,0,0,0,0,1,1,0,1,3,2,1,1,0,0,0,0,0,1,1,2,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,1,1,0,0,1,0,1,0,3,2,2,1,2,0,2,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,2,1,1,1,0,0,3,0,0,2,1,1,2,1,2,1,0,0,2,2,1,0,1,1,1,2,1,1,0,0,0,0,1,2,0,0,0,0,0,0,1,0,1,0,1,1,2,0,1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,2,1,0,2,0,0,0,1,0,0,1,3,1,0,2,0,2,0,0,0,1,0,0,0,0,0,0,1,2,1,0,1,0,2,1,0,0,0,1,0,0,0,0,1,1,1,1,0,1,0,1,0,1,1,0,0,1,2,0,0,0,1,0,1,0,1,1,0,2,4,2,1,0,0,0,1,0,1,0,1,1,1,0,0,1,1,1,1,0,2,0,0,0,1,3,0,0,0,0,2,0,1,2,0,0,0,0,0,1,1,1,2,1,1,2,1,0,3,0,0,1,0,0,2,1,0,1,0,2,1,0,0,1,1,1,1,0,2,2,1,0,2,1,2,0,2,0,0,1,1,0,0,0,1,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,2,1,0,1,0,3,0,1,0,0,1,2,0,0,1,1,2,1,1,1,1,0,1,2,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,1,1,2,0,0,0,3,2,1,3,0,0,0,1,1,0,0,0,1,1,1,2,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,2,2,1,1,0,0,0,0,1,1,1,0,3,0,1,0,1,0,2,0,0,1,0,1,0,1,1,0,0,0,1,3,2,0,0,0,1,2,0,0,0,0,2,2,2,0,0,2,0,1,1,0,0,2,2,0,1,1,0,2,1,1,0,0,1,0,0,0,1,0,0,1,2,1,2,0,0,0,1,1,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,1,1,2,1,2,0,0,2,0,2,1,1,0,0,0,0,0,0,0,1,0,3,1,1,0,1,0,1,1,0,0,1,0,1,0,1,3,1,0,0,1,0,1,0,2,2,0,1,0,0,1,1,1,0,0,1,0,0,0,1,0,2,0,0,0,1,2,2,1,1,0,1,1,0,0,1,1,0,0,0,2,1,2,1,0,1,0,0,0,1,2,1,0,3,1,1,0,1,1,0,1,2,1,1,2,1,0,0,1,1,0,0,0,1,0,1,0,0,1,0,1,1,1,2,1,0,0,0,0,0,0,1,0,2,0,1,1,0,0,0,0,0,0,0,1,1,2,0,0,0,0,1,3,2,1,0,0,1,0,1,0,0,0,1,1,1,0,0,1,0,1,2,0,0,0,2,1,1,1,1,2,1,1,0,0,0,2,1,1,0,1,0,1,0,1,1,1,1,1,1,1,0,1,0,0,1,0,0,0,0,0,3,1,2,1,1,0,2,1,0,1,0,2,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,1,0,3,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,3,0,0,1,2,0,0,0,1,0,3,2,0,0,0,2,0,0,0,0,0,1,3,0,3,1,0,2,0,1,1,0,1,3,0,1,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,0,2,0,2,1,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,0,2,0,1,1,0,2,0,0,3,1,1,1,3,2,0,0,0,1,3,2,0,1,0,3,0,0,0,0,1,2,0,0,0,0,1,2,0,0,1,2,2,0,2,0,0,1,0,1,1,0,0,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,1,1,1,1,0,0,1,1,1,0,1,3,0,1,1,0,2,1,0,2,1,1,0,1,0,1,0,1,1,2,0,2,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,2,0,0,2,0,1,3,0,0,1,1,2,1,0,2,1,1,1,1,0,1,0,3,0,0,0,1,0,0,0,1,1,0,2,0,0,0,1,0,0,1,1,0,1,1,0,1,2,0,1,1,0,0,3,0,1,0,1,0,2,2,2,0,1,0,0,0,0,0,0,0,0,0,1,1,0,2,2,1,1,1,0,0,0,1,0,0,2,0,2,1,2,0,0,2,0,0,1,0,1,1,0,1,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,1,1,2,0,1,0,2,1,1,2,0,1,2,1,0,0,0,1,0,1,0,0,0,0,0,1,0,2,1,0,1,1,0,1,0,0,0,1,3,0,0,0,0,0,1,2,0,0,1,1,1,1,0,0,0,1,1,0,0,1,3,1,1,1,0,0,1,1,0,1,0,0,1,1,0,0,0,1,2,1,2,2,0,0,0,2,1,0,0,1,0,1,0,1,0,0,1,2,0,2,0,0,0,1,1,0,0,0,1,1,0,0,2,0,0,1,1,1,0,0,1,2,1,1,1,1,1,0,0,1,0,0,0,0,0,0,1,0,3,1,1,3,1,0,1,1,0,1,0,1,1,3,0,1,0,0,1,1,1,0,0,1,2,1,2,1,1,0,0,1,2,2,0,0,0,1,1,2,1,0,1,1,1,2,1,0,0,0,1,0,0,1,2,0,0,2,0,0,0,2,0,1,0,0,0,0,1,0,0,0,0,1,0,2,0,0,0,1,0,3,1,0,1,0,2,0,1,2,0,0,0,0,2,1,1,1,2,0,0,0,0,2,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,3,2,0,0,0,1,0,2,0,1,1,1,1,0,0,0,1,0,0,1,2,0,2,2,0,1,1,0,1,0,1,1,1,0,0,2,1,0,1,0,1,0,0,0,1,0,1,0,0,0,0,1,0};int n;int main(){     // freopen("in.txt", "r", stdin);    // freopen("out.txt", "w", stdout);    while(scanf("%d",&n)!=EOF&&n){        printf("%d\n",vis[n]);    }    return 0;}

 

poj 2739