codevs1279 Guard 的无聊

题目描述 Description

在那楼梯那边数实里面,有一只 guard,他活泼又聪明,他卖萌又霸气。他每天刷题虐 场 D 人考上了 PKU,如果无聊就去数一数质数~~ 有一天 guard 在纸上写下了一串数字,他发现数出每个数有多少个质因子是非常有(wu) 趣(liao)的事情,于是快乐的开始了数质因子之旅。现在他有一个更有(wu)趣(liao)的想法, 他想知道第a个数到第b个数每个数的质因子个数之和。更有趣的是,他一共写下了200 万个数字哟。由于guard是神犇所以不屑于求如此简单的问题,现在他把问题交给了Mr.shu, 但是他不会…,如果你能回答他的问题就能获得 guard 的亲笔签名哦~~。

输入描述 Input Description

第一行 1 个数 n,表示 guard 写下了 n 个数。 第二行 n 个用空格隔开的数,表示 guard 写下的 n 个数(每个数都不大于 10000,不小 于 1)。 第三行 1 个数 m,表示 guard 的询问数。 接下来 m 行,每行一个 a 和 b,表示 guard 想知道 a 到 b(包括 a 和 b)的每个数的质 因子个数之和。

输出描述 Output Description

一共 m 行。每行一个数表示对每个询问的答案。

样例输入 Sample Input
5 
4 2 1 6 30 
2 
1 3 
2 5 
样例输出 Sample Output
3
6
数据范围及提示 Data Size & Hint

【输入输出样例说明】

 

4=2*2 有 2 个不同质因子,2 有 1 个,1 有 0 个,6 有 2 个,30 有 3 个,

 

所以[1,3]有 2+1+0 个,[2,5]有 1+0+2+3 个。

 

【数据范围】

 

20%的数据满足 n<=1000,m<=10

 

50%的数据满足 n<=10000

 

100%的数据满足 n<=2000000,m<=100000

 

 

正解:暴力

解题报告:

  这是不需要解释的搜索。

 1 //It is made by jump~
 2 #include <iostream>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <cstdio>
 6 #include <cmath>
 7 #include <algorithm>
 8 #include <ctime>
 9 #include <vector>
10 #include <queue>
11 #include <map>
12 #include <set>
13 using namespace std;
14 typedef long long LL;
15 #define RG register
16 const int MAXN = 2000011;
17 int n,m,cnt;
18 bool vis[10011];
19 int prime[MAXN];
20 int a[MAXN],num[10011];
21 int sum[MAXN];
22 
23 inline int getint()
24 {
25        RG int w=0,q=0; char c=getchar();
26        while((c<'0' || c>'9') && c!='-') c=getchar(); if(c=='-') q=1,c=getchar(); 
27        while (c>='0' && c<='9') w=w*10+c-'0', c=getchar(); return q ? -w : w;
28 }
29 
30 inline void work(){
31     n=getint(); for(RG int i=1;i<=n;i++) a[i]=getint();
32     for(RG int i=2;i<=10000;i++) if(!vis[i]) for(RG int j=i+i;j<=10000;j+=i) vis[j]=1;
33     for(RG int i=2;i<=10000;i++) if(!vis[i]) prime[++cnt]=i;
34     for(RG int i=1;i<=n;i++) {
35     sum[i]=sum[i-1]; if(a[i]<=1) continue;
36     if(num[a[i]]!=0) { sum[i]+=num[a[i]]; continue; }
37     RG int cun=a[i];
38     for(RG int j=1;j<=cnt;j++) {
39         while(a[i]%prime[j]==0) a[i]/=prime[j],sum[i]++,num[cun]++;
40         if(a[i]==1) break;
41     }
42     }
43     m=getint(); RG int l,r;
44     while(m--) {
45     l=getint(); r=getint();
46     printf("%d
",sum[r]-sum[l-1]);
47     }
48 }
49 
50 int main()
51 {
52   work();
53   return 0;
54 }

 怒打表,并没有快多少。。。codevs只能提交20KB以下的代码,差评!

1 #include <cstdio>
2 using namespace std;
3 int n,m,l,r,a[2000011],s[2000011],nu[10011]={0,0,1,1,2,1,2,1,3,2,2,1,3,1,2,2,4,1,3,1,3,2,2,1,4,2,2,3,3,1,3,1,5,2,2,2,4,1,2,2,4,1,3,1,3,3,2,1,5,2,3,2,3,1,4,2,4,2,2,1,4,1,2,3,6,2,3,1,3,2,3,1,5,1,2,3,3,2,3,1,5,4,2,1,4,2,2,2,4,1,4,2,3,2,2,2,6,1,3,3,4,1,3,1,4,3,2,1,5,1,3,2,5,1,3,2,3,3,2,2,5,2,2,2,3,3,4,1,7,2,3,1,4,2,2,4,4,1,3,1,4,2,2,2,6,2,2,3,3,1,4,1,4,3,3,2,4,1,2,2,6,2,5,1,3,3,2,1,5,2,3,3,3,1,3,3,5,2,2,1,5,1,3,2,4,2,3,2,3,4,3,1,7,1,2,3,4,1,4,1,5,2,2,2,4,2,2,3,5,2,4,1,3,2,2,2,6,2,2,2,4,2,3,1,6,4,2,1,4,1,3,3,4,1,4,2,3,2,3,1,6,1,3,5,3,3,3,2,4,2,4,1,5,2,2,3,8,1,3,2,4,3,2,1,5,2,3,2,3,1,5,1,5,3,2,3,4,1,2,3,5,1,3,1,3,3,3,2,7,2,3,2,3,1,4,2,4,4,2,2,5,2,2,2,5,2,4,1,4,2,3,1,5,1,2,4,3,1,3,2,7,2,3,2,6,3,2,2,4,2,4,1,3,3,2,2,6,1,3,2,4,2,4,3,4,3,2,1,4,1,4,4,6,1,3,2,3,3,2,1,6,2,2,3,4,2,3,1,5,3,3,2,4,1,3,4,4,2,5,1,4,2,2,1,8,3,2,3,3,1,4,2,5,2,2,2,5,1,2,3,6,1,3,2,3,5,3,2,5,1,3,2,3,2,4,2,6,2,3,1,5,1,2,3,4,3,3,2,3,3,3,1,7,1,3,3,3,2,3,1,5,4,3,1,4,2,2,2,7,1,5,2,3,2,2,3,5,1,2,4,4,1,4,1,5,3,2,1,5,2,3,2,4,2,3,3,4,3,2,1,7,2,2,3,4,2,6,1,4,2,4,1,4,2,3,4,5,2,3,1,5,2,2,1,6,2,3,3,3,1,4,2,9,4,2,2,4,2,3,2,5,1,4,1,3,4,2,2,6,2,3,3,4,2,3,2,4,2,2,3,6,1,2,2,6,2,4,1,3,3,4,2,5,2,2,3,3,1,4,2,6,3,2,1,4,2,2,5,4,1,4,1,4,2,3,3,8,1,3,2,4,2,3,2,4,4,2,1,5,2,3,2,5,1,5,3,3,2,3,1,6,1,3,3,3,3,3,1,6,3,3,2,5,1,2,3,5,1,3,1,4,4,2,2,6,4,2,3,3,2,5,1,4,2,2,2,4,3,3,3,8,1,3,1,4,3,3,1,7,2,4,3,3,1,3,2,5,3,3,1,5,1,2,3,4,3,4,2,3,2,3,2,7,1,2,5,4,1,3,2,5,2,3,1,5,2,4,2,5,2,4,1,3,4,2,2,5,2,2,2,5,1,5,2,7,3,2,2,4,1,3,3,4,2,4,3,3,2,2,1,7,2,3,2,3,3,4,1,5,6,3,2,4,1,2,4,6,2,4,1,4,3,3,1,5,2,2,3,4,2,5,1,5,2,3,2,6,1,2,3,5,1,3,2,3,4,2,2,9,1,4,2,3,1,4,3,4,3,2,2,5,2,3,4,6,2,3,1,3,2,3,2,6,2,2,3,3,1,4,2,7,3,2,2,4,3,3,2,4,1,6,1,4,2,3,2,6,2,2,4,4,1,3,1,4,4,3,1,5,1,3,2,7,3,3,2,4,4,2,1,6,2,2,2,3,3,4,3,5,2,4,2,4,1,3,4,4,1,4,1,4,3,2,1,8,2,2,3,4,2,4,2,4,3,3,4,4,1,2,2,6,1,5,1,4,3,2,1,5,2,3,5,3,2,3,2,8,3,2,2,6,2,3,3,4,2,3,1,3,3,4,1,6,2,2,3,3,2,5,1,5,2,2,2,5,3,2,3,6,1,4,3,3,2,2,3,6,1,3,2,4,1,3,2,5,5,3,1,4,2,4,2,5,1,4,2,3,3,2,2,8,2,3,3,3,2,4,1,5,3,3,1,7,2,2,4,5,1,3,2,5,3,2,1,5,2,3,3,4,2,5,1,6,2,3,2,4,1,2,4,6,3,3,2,3,3,2,2,7,1,3,2,4,1,4,3,4,3,2,1,5,1,3,3,10,3,5,2,3,4,3,1,5,1,3,4,4,2,3,1,6,2,2,2,5,3,2,2,4,1,5,1,3,5,3,2,7,2,3,2,4,1,4,1,5,3,3,2,4,1,3,4,5,2,3,3,3,2,4,2,7,2,2,3,3,3,3,1,7,4,3,1,5,1,2,3,4,1,4,2,5,2,3,1,6,3,3,4,3,1,4,2,4,3,2,2,5,1,3,2,7,2,4,1,3,5,2,3,5,1,3,3,3,2,6,2,5,2,2,2,5,2,2,3,5,2,3,2,4,2,4,1,9,1,2,4,4,2,3,2,5,4,3,1,4,2,3,2,5,2,5,1,3,3,2,3,6,2,3,3,4,1,3,3,6,3,2,1,6,2,4,2,4,1,3,2,4,4,2,2,7,1,2,2,4,2,4,2,4,3,4,2,4,1,2,6,7,1,4,2,4,3,3,1,6,4,2,2,3,1,4,1,6,3,2,3,4,1,2,3,5,2,5,2,3,3,3,2,7,1,5,3,3,2,4,2,4,2,3,1,6,2,2,2,5,3,3,2,3,4,3,2,5,2,4,4,4,1,4,1,9,3,2,1,4,2,2,4,5,1,4,1,4,2,2,3,8,1,3,2,5,1,4,1,4,4,2,1,4,3,3,3,6,2,4,2,4,2,2,1,6,1,2,5,3,3,4,1,5,2,4,3,5,2,3,3,4,2,3,2,4,3,3,2,8,2,2,2,3,2,6,2,5,3,2,2,4,2,3,3,6,1,3,2,4,4,2,1,6,2,3,2,5,1,3,4,6,5,3,2,5,1,2,2,4,2,5,2,3,2,3,2,6,2,3,4,3,2,3,1,6,2,2,2,6,2,3,3,8,1,4,2,3,3,3,2,5,2,2,3,4,3,4,1,5,4,3,1,5,1,4,4,4,1,3,3,3,2,2,1,8,2,3,3,4,3,3,1,4,4,4,1,5,1,2,3,6,2,7,1,4,2,3,3,5,2,2,3,3,2,5,1,7,2,3,3,5,2,2,3,5,1,4,1,4,5,2,1,6,1,3,3,3,1,4,3,5,2,3,1,6,2,2,3,6,3,3,2,4,2,3,1,7,2,2,3,3,2,4,3,6,4,2,1,4,3,3,2,4,2,5,1,3,3,3,2,10,2,2,5,5,2,3,1,4,3,2,3,5,1,4,3,5,1,4,2,3,3,3,1,6,2,3,2,4,2,5,1,7,2,3,1,4,3,2,5,4,2,3,1,4,3,3,1,7,2,3,3,3,2,4,2,4,4,2,3,5,1,3,3,8,1,4,2,3,3,3,1,5,1,4,3,4,1,3,3,5,4,2,1,7,1,2,2,5,4,3,1,4,3,3,2,7,2,3,3,3,1,5,2,5,2,2,2,4,3,2,4,5,2,5,2,4,3,2,2,6,1,2,3,4,2,3,1,8,4,4,1,4,1,3,2,5,2,5,3,3,3,2,2,7,2,3,4,3,2,3,2,4,2,4,2,5,1,4,3,6,1,3,1,5,6,3,2,5,3,2,2,4,1,5,2,5,2,2,4,5,2,2,3,5,1,4,1,3,4,2,2,9,3,3,2,3,1,4,2,5,3,3,2,5,1,3,3,5,2,4,1,4,3,5,2,5,1,2,5,3,2,3,1,7,2,2,2,6,2,2,3,5,2,4,3,3,3,2,3,6,1,3,2,4,2,6,1,4,4,3,1,4,1,3,3,9,2,4,2,3,2,3,2,7,1,3,2,4,3,4,2,5,4,3,1,4,3,2,4,4,2,4,2,5,2,2,1,7,3,3,4,3,2,4,1,4,3,3,2,6,2,2,2,6,2,3,2,3,4,3,1,6,2,4,2,3,2,4,3,7,2,2,3,5,1,4,5,4,2,3,1,3,3,4,1,7,1,2,5,4,1,3,1,5,4,2,2,4,3,3,3,6,1,6,2,4,2,2,2,5,2,3,3,5,1,3,2,6,3,2,1,5,2,3,4,4,1,4,2,3,4,3,2,9,2,3,2,4,4,4,2,4,2,3,1,5,1,2,4,6,2,4,2,4,2,2,2,8,2,3,3,3,1,5,1,6,4,2,3,4,2,3,2,6,2,4,2,3,3,2,2,6,2,3,4,4,1,4,3,5,2,3,1,6,2,2,2,7,2,3,1,4,4,3,2,5,1,2,4,3,1,5,1,7,3,4,1,4,2,3,3,4,3,4,1,3,3,3,3,8,1,2,2,4,2,3,3,5,6,2,1,5,1,4,2,5,2,4,3,3,3,2,1,6,2,2,3,4,2,4,2,11,2,4,2,6,1,3,3,4,3,5,2,4,3,2,1,6,3,2,3,4,1,5,2,5,2,3,3,4,2,2,5,7,1,3,1,3,3,3,1,6,1,4,3,3,3,3,2,5,3,2,1,6,2,2,2,4,2,6,3,4,3,3,1,8,1,3,4,4,2,3,2,5,3,2,2,5,4,2,2,6,1,4,1,4,4,3,3,5,1,2,3,4,1,5,1,6,4,3,2,4,2,4,3,4,1,3,2,5,2,3,2,8,1,3,3,3,2,4,2,4,3,4,2,4,2,2,4,8,2,5,1,4,2,2,2,6,3,2,7,3,2,4,2,5,3,2,2,5,3,3,2,6,2,3,1,4,5,2,1,7,2,4,3,4,1,5,2,4,2,2,2,5,1,3,4,5,3,4,2,3,2,3,2,6,3,2,3,4,1,3,1,8,4,3,1,5,2,2,3,4,2,6,1,3,2,4,3,6,2,2,3,4,3,4,2,4,3,3,1,7,1,3,2,6,1,3,4,3,4,3,2,6,1,3,2,3,2,4,1,6,3,3,2,4,1,3,5,5,1,3,3,5,3,2,3,10,2,2,2,3,1,5,1,5,3,3,2,4,2,3,2,6,2,5,2,4,4,2,2,5,2,3,4,4,1,3,2,6,3,3,1,6,1,2,3,4,3,4,1,3,5,4,1,7,2,3,3,4,1,4,2,5,2,2,2,4,3,4,3,7,2,4,1,3,3,2,4,7,1,3,3,5,1,3,1,5,4,2,3,4,1,3,2,5,1,5,2,3,3,3,1,8,4,2,4,3,3,3,2,5,3,3,1,5,2,3,4,5,1,4,2,5,3,3,1,5,3,2,2,3,2,7,3,8,2,2,2,5,1,3,3,5,1,4,2,4,3,2,1,7,2,5,3,3,2,3,2,4,5,2,1,5,2,2,2,7,3,4,1,3,2,4,2,5,1,2,5,3,1,4,2,6,2,3,2,6,3,3,2,4,2,4,2,4,3,3,2,8,2,2,4,6,2,4,1,4,3,3,2,5,2,3,5,5,2,3,2,4,2,2,2,7,1,3,3,3,3,3,3,6,3,4,1,4,2,3,4,4,2,5,1,4,4,3,1,6,2,3,3,5,1,5,1,5,3,2,3,5,1,2,2,10,2,4,2,3,5,2,2,5,2,3,2,3,2,5,3,6,2,2,1,5,2,2,4,5,3,3,2,3,2,4,1,9,1,2,3,4,3,3,2,6,4,2,2,5,2,2,3,5,1,5,2,3,3,2,2,5,1,4,4,4,1,4,2,7,5,3,2,5,2,3,2,5,1,3,3,3,3,2,3,7,2,2,2,3,3,6,1,4,2,4,2,5,2,2,4,6,1,3,1,5,2,4,1,6,3,3,3,4,2,4,1,5,6,3,3,4,1,3,3,5,2,4,1,4,3,3,1,9,1,3,4,3,1,3,4,4,3,3,1,7,2,3,3,6,2,4,1,3,4,3,1,5,1,3,3,4,3,4,1,7,2,2,2,4,3,3,4,5,1,5,1,3,2,2,2,7,3,3,3,4,1,3,2,6,4,2,2,4,1,5,3,7,1,6,3,4,2,3,2,6,2,2,3,3,3,3,1,5,3,3,2,6,2,3,4,4,1,3,2,4,4,3,3,7,2,3,2,4,1,5,1,4,4,3,3,4,1,2,3,7,1,3,1,3,4,3,2,7,2,3,2,4,2,4,2,9,3,2,1,5,3,3,2,4,3,4,2,4,3,3,2,6,1,3,6,3,1,4,2,5,2,4,1,5,2,2,3,6,3,5,1,4,3,2,2,6,1,2,2,5,1,5,2,5,3,2,2,4,2,4,4,4,3,3,4,3,3,2,1,9,2,3,3,4,2,4,1,5,4,4,3,4,2,2,3,5,1,5,2,5,2,2,1,6,3,2,4,3,1,4,2,7,2,3,3,8,1,2,3,5,2,3,2,4,5,4,1,6,2,3,2,3,2,4,2,4,3,3,1,6,2,2,4,8,3,3,2,4,2,4,2,6,1,3,3,3,1,4,2,6,4,2,1,5,2,2,3,5,1,6,1,3,2,2,4,7,2,2,3,4,2,4,2,4,3,2,2,5,3,4,2,6,2,3,2,4,5,2,1,7,1,3,4,3,2,4,2,7,3,4,1,4,2,3,4,5,2,3,1,4,3,2,1,8,4,3,2,3,2,4,2,4,3,3,2,5,1,4,2,7,1,5,2,3,4,2,2,5,1,4,4,4,2,3,3,5,2,3,3,6,1,2,2,4,2,4,1,4,4,3,2,11,2,3,4,3,2,6,1,6,3,3,1,4,2,2,5,5,1,4,2,3,2,4,2,6,2,2,2,5,2,4,2,6,5,2,2,5,1,3,3,4,2,4,3,4,2,2,1,7,1,3,3,4,5,3,2,5,3,3,2,6,2,2,4,8,1,3,2,4,3,2,2,5,3,4,2,3,2,6,2,5,2,3,2,4,3,2,6,5,2,4,1,4,3,2,1,8,1,3,3,4,2,4,3,4,3,3,3,5,1,3,2,5,4,5,1,3,2,4,1,6,2,2,4,4,2,4,2,9,3,2,1,5,2,3,2,4,1,4,3,4,5,2,2,6,1,2,3,5,1,4,2,5,4,2,2,4,1,4,3,6,2,5,2,3,3,2,2,8,2,2,3,3,3,3,2,6,4,5,1,4,1,2,4,5,1,4,1,4,2,3,2,8,2,3,5,4,2,4,1,4,2,2,3,6,2,3,2,6,2,3,3,3,4,3,2,5,3,4,2,3,2,5,2,6,3,3,1,6,1,3,3,5,2,4,1,3,2,3,3,7,1,2,4,3,2,4,1,5,5,3,1,4,4,2,2,9,1,5,1,5,3,2,3,5,2,2,4,4,2,3,1,6,3,3,1,6,2,4,2,4,2,4,3,3,3,3,1,8,1,3,3,4,2,5,3,4,2,3,1,4,1,3,6,5,2,3,2,5,4,3,2,6,2,2,2,5,1,4,1,7,4,2,3,4,2,2,3,6,2,7,2,4,3,3,1,6,2,4,3,3,1,3,2,5,3,2,2,6,2,3,3,6,3,3,2,3,4,5,2,6,1,3,3,3,2,4,2,6,3,2,2,5,3,2,3,4,1,5,3,3,2,3,2,10,1,4,2,4,1,3,1,4,5,2,1,5,1,3,3,6,2,4,3,4,3,3,3,6,2,2,5,4,3,4,2,6,2,3,1,5,2,2,3,5,2,4,1,6,3,3,2,6,2,2,3,3,3,6,1,4,2,3,3,4,1,2,4,8,2,3,2,3,4,3,1,7,1,3,3,3,1,4,3,6,4,3,1,5,1,4,2,4,2,4,1,3,4,4,2,7,3,2,4,4,1,3,1,5,2,3,2,7,3,2,3,5,2,5,1,4,3,2,4,5,3,2,2,4,1,4,1,10,3,3,2,5,2,3,5,4,1,3,2,4,3,3,2,8,2,2,2,4,3,3,1,5,3,4,2,5,1,3,3,6,1,5,3,4,3,2,1,5,4,4,4,3,2,5,1,5,3,3,2,5,1,3,2,6,2,3,1,3,7,2,2,8,2,4,2,4,2,5,3,4,3,3,1,5,2,2,4,5,2,4,2,4,2,3,1,7,1,3,5,3,1,3,2,7,3,3,2,4,3,3,2,4,3,5,1,4,2,2,2,7,1,3,4,5,1,3,3,4,4,3,2,5,1,4,2,8,2,3,2,3,4,4,1,6,2,2,3,5,3,6,1,5,3,3,3,4,1,2,4,4,2,4,1,5,3,2,2,8,3,2,2,3,2,6,3,5,4,2,2,4,3,2,3,6,1,5,2,3,3,3,1,5,1,4,3,4,4,4,3,7,2,2,1,7,2,3,3,5,2,3,2,3,3,3,2,6,1,3,4,4,1,4,2,6,3,2,1,4,2,3,5,7,2,4,2,3,3,2,3,6,2,3,3,4,1,5,1,5,5,2,2,5,2,3,2,4,1,5,3,4,2,3,2,10,2,3,4,4,2,3,1,5,2,5,1,5,1,3,3,5,3,3,2,4,5,2,1,6,2,2,2,3,2,5,3,7,2,3,4,5,1,3,3,5,1,3,2,3,4,3,3,9,1,3,2,4,2,4,3,4,3,2,2,6,2,2,2,7,3,5,1,3,2,4,1,5,3,3,5,4,1,3,1,7,2,3,1,5,3,3,4,4,1,4,1,3,4,3,2,7,2,3,3,4,2,5,1,5,3,2,1,5,2,4,3,6,2,3,3,4,2,2,2,7,2,3,2,3,3,3,1,8,6,3,3,4,2,2,4,5,2,5,2,4,2,3,2,6,2,2,3,3,1,5,2,4,4,2,3,6,2,2,3,8,1,4,1,5,4,2,1,5,2,3,3,4,1,4,3,5,3,4,1,5,1,2,4,4,4,4,1,4,3,4,2,9,2,2,3,3,2,3,2,5,3,3,2,4,2,4,3,6,1,7,1,3,3,2,2,6,1,2,4,5,2,3,2,6,3,3,3,5,2,4,3,4,1,4,3,3,4,2,1,7,3,3,2,3,3,4,2,5,3,3,1,5,1,3,5,12,2,3,1,5,2,3,2,7,2,2,3,4,2,4,1,5,3,4,2,6,2,3,2,5,2,4,3,3,5,2,1,7,1,4,6,3,1,4,2,5,3,2,1,6,2,3,2,6,2,3,3,4,3,4,2,5,1,3,3,3,1,6,1,8,3,2,2,4,4,2,3,4,2,4,2,4,3,2,3,7,1,2,3,5,2,4,2,4,5,4,2,4,2,3,3,6,2,4,2,3,2,2,3,7,1,3,3,3,3,3,2,5,3,3,1,7,2,4,3,5,1,4,1,4,4,2,2,9,4,2,2,4,1,5,1,5,3,3,4,4,2,3,4,6,1,4,1,3,3,3,2,6,2,5,3,3,1,3,3,7,4,2,1,5,1,2,4,5,2,5,2,4,2,4,1,6,1,2,5,3,3,4,2,5,2,2,1,6,2,2,2,7,1,5,2,4,5,3,2,5,1,3,2,5,3,4,2,5,4,2,2,4,2,3,3,6,2,3,2,4,2,3,2,9,2,2,3,4,3,4,1,4,4,3,2,5,2,3,4,5,1,4,1,5,2,3,2,5,3,3,5,3,1,5,2,9,2,3,3,6,1,2,2,5,3,3,1,3,4,3,2,7,2,4,3,3,1,8,5,4,2,3,2,5,2,3,3,6,2,4,2,3,4,3,1,6,2,4,3,4,1,3,2,7,4,3,3,4,2,2,3,5,1,6,2,3,2,2,2,8,2,3,3,5,1,4,1,5,4,2,2,6,2,3,3,5,3,3,2,3,4,3,2,6,1,2,2,4,3,5,1,6,2,4,1,5,2,3,6,4,1,3,4,4,2,3,1,7,3,4,2,3,2,4,2,5,4,2,3,4,3,2,2,9,1,5,1,4,4,2,2,6,2,3,3,3,1,4,3,5,2,3,2,7,2,2,3,4,3,3,1,5,4,4,2,7,1,3,4,3,1,4,1,5,3,4,1,5,3,3,3,5,2,4,2,4,2,2,2,8,2,2,3,4,2,3,3,7,4,2,1,4,1,5,3,4,2,5,2,4,4,3,2,7,1,2,5,4,3,3,1,4,2,3,2,5,2,2,4,7,2,4,2,4,3,3,1,5,3,2,3,4,2,6,1,6,2,2,2,4,1,4,4,6,2,4,1,3,3,4,2,11,2,3,3,3,2,3,3,4,6,2,2,6,1,2,3,6,4,4,2,4,2,3,2,5,2,3,4,4,1,3,1,7,4,3,1,6,2,3,2,5,1,5,1,3,4,3,4,6,1,3,2,4,2,5,1,5,3,2,2,4,3,3,4,7,1,4,4,4,2,2,1,7,2,2,3,3,2,4,2,5,3,4,1,5,3,2,3,4,3,6,2,5,2,2,1,8,2,3,3,4,2,4,2,5,2,2,3,5,2,3,4,6,1,3,1,3,6,3,2,5,1,4,3,5,1,4,2,8,2,3,2,5,2,2,4,4,3,4,2,3,2,5,1,8,3,2,3,4,2,4,1,6,4,2,2,4,2,2,3,6,2,5,2,3,3,4,3,5,2,2,5,4,2,3,1,6,4,2,1,6,1,3,2,4,1,4,3,4,4,2,1,9,1,5,2,3,3,5,3,4,3,4,2,4,1,3,4,6,1,4,2,4,2,2,3,6,3,3,2,4,2,5,1,6,4,2,2,5,2,3,2,6,2,4,2,4,4,2,2,6,2,4,5,3,2,3,2,4,2,3,2,8,1,4,2,9,3,3,2,3,3,3,1,6,2,2,5,4,1,4,3,6,2,2,2,5,2,3,4,5,1,4,2,3,3,2,3,8,2,3,3,6,3,4,1,4,4,3,2,4,1,3,2,5,3,6,2,3,3,2,1,6,3,3,3,3,3,3,2,8,3,4,1,5,1,2,4,4,1,3,2,5,5,3,1,6,3,2,3,3,3,6,1,4,3,2,2,5,1,3,4,7,3,3,2,4,3,3,1,7,1,4,2,4,1,3,3,5,4,3,2,5,2,3,3,5,2,4,1,4,2,3,3,9,1,3,5,3,2,5,1,7,2,3,1,5,4,2,2,5,1,4,1,4,3,3,3,6,2,3,3,4,1,6,1,6,4,3,2,4,2,3,4,5,2,3,3,3,3,3,1,8,2,2,3,4,2,4,3,4,5,4,1,4,2,4,3,7,2,4,1,5,3,2,2,5,2,3,3,4,2,5,2,5,3,3,4,6,1,2,2,5,1,5,3,4,4,2,1,7,2,3,2,4,2,4,2,6,2,2,1,6,1,2,7,6,2,4,1,3,3,4,2,6,1,2,4,3,3,3,1,11,3,3,2,5,4,3,2,4,2,6,2,3,3,3,3,6,2,3,3,4,2,3,2,4,5,3,1,6,2,4,3,7,1,3,2,3,4,2,3,6,2,3,2,3,2,5,1,6,2,4,1,4,2,3,5,4,2,3,1,5,3,2,2,10,3,2,4,3,1,4,2,5,3,4,2,4,1,3,2,7,2,5,3,3,3,3,2,6,1,3,4,3,2,4,3,6,3,2,2,6,2,3,2,4,4,4,1,3,4,3,1,6,1,2,3,5,1,5,3,5,2,2,3,5,2,3,4,8,2,6,2,4,3,3,2,6,2,3,2,4,1,3,2,6,6,2,2,4,2,4,3,4,1,4,3,3,2,4,1,8,1,3,3,3,3,3,2,4,3,4,3,7,2,2,3,5,1,3,2,5,4,3,1,6,2,3,3,3,1,5,2,7,4,2,2,4,2,2,4,6,2,3,1,5,4,2,2,7,2,4,2,4,1,4,3,5,3,3,2,5,3,2,3,6,2,7,1,4,2,4,1,5,2,2,5,4,2,4,2,6,2,3,2,5,3,2,2,5,3,4,2,4,4,2,4,10,2,2,3,4,1,5,2,4,3,2,1,4,2,5,3,5,1,4,3,4,3,2,1,8,2,3,2,4,3,4,1,7,3,3,2,5,1,2,4,4,1,5,1,4,3,2,3,6,4,2,5,4,2,4,1,5,2,4,2,5,1,2,4,8,1,3,1,3,5,3,2,5,1,4,3,4,3,5,2,6,3,2,2,6,2,2,3,4,2,3,3,3,2,3,1,8,2,4,4,4,1,4,1,5,5,2,1,4,2,3,3,7,2,5,3,3,2,3,3,5,2,2,4,6,1,4,1,8,3,2,1,7,2,4,3,5,2,3,2,4,3,3,1,7,1,3,3,3,4,4,1,4,3,4,1,4,2,2,5,6,3,4,2,4,2,3,2,7,2,3,3,4,2,5,3,5,3,2,3,4,1,3,3,5,2,5,1,4,4,4,2,8,1,3,3,4,1,3,3,5,4,2,2,6,1,2,2,5,2,5,2,4,6,4,1,5,3,2,3,3,2,4,2,8,2,2,2,4,3,2,4,4,2,5,2,4,2,3,2,8,2,3,2,4,3,3,1,5,6,3,2,5,2,3,2,10,2,4,4,3,2,2,1,6,1,4,5,4,2,3,1,5,3,4,1,5,1,3,4,5,1,4,1,4,4,3,2,7,3,2,2,4,1,7,2,4,3,2,3,5,2,3,3,6,3,3,1,5,3,2,3,6,1,3,3,3,1,4,3,7,4,4,2,6,1,2,2,5,3,4,2,3,3,3,1,7,2,2,4,3,1,3,3,6,2,2,2,6,3,3,3,6,2,4,2,3,5,3,3,5,1,3,2,5,1,5,1,5,3,4,2,4,1,5,5,4,2,4,2,3,3,2,2,10,2,3,3,4,2,4,2,5,3,3,2,5,2,2,5,6,2,5,1,5,3,4,1,5,3,3,3,3,2,4,1,6,2,2,3,6,3,3,2,6,1,3,2,3,5,2,1,7,2,4,3,3,1,5,2,4,3,2,3,5,1,3,3,8,3,3,1,4,3,4,4,9,2,2,3,3,2,4,1,6,4,3,1,4,3,3,2,5,1,6,1,5,2,2,2,7,1,3,5,4,1,3,3,4,4,3,1,5,1,3,3,5,2,4,4,4,3,2,1,7,1,3,3,3,3,5,3,9,3,4,2,4,2,3,4,5,1,3,2,5,3,3,1,7,2,2,3,4,2,4,2,4,5,2,4,5,2,3,2,7,2,5,1,3,4,2,1,6,4,3,3,3,2,4,2,6,2,2,1,7,2,2,3,4,3,3,2,3,3,5,2,8,1,3,3,3,3,4,2,5,2,3,2,5,2,3,5,5,2,4,2,3,3,3,3,6,2,4,2,5,1,3,2,7,5,3,1,4,2,3,2,5,2,6,3,3,2,2,2,8,2,2,4,4,2,5,1,4,2,3,1,5,2,3,3,8,2,4,2,5,4,2,2,5,3,3,4,4,1,5,2,6,2,3,3,4,1,2,4,5,2,4,1,3,4,2,1,9,2,5,2,4,1,3,3,4,3,3,2,5,3,3,3,5,2,4,1,4,4,3,2,6,1,2,7,5,2,3,1,8,2,2,3,6,2,3,2,4,1,5,1,3,3,3,3,6,3,2,3,5,1,5,2,5,4,3,2,4,2,4,4,6,1,3,2,4,2,4,2,7,1,2,3,3,5,3,2,5,4,3,1,5,1,2,3,5,3,5,2,4,3,3,1,12,2,3,3,4,3,5,1,4,3,3,2,7,2,2,2,7,2,4,1,4,4,2,2,5,2,3,4,3,1,6,4,6,3,2,2,5,2,3,4,4,2,3,2,5,2,3,2,7,2,3,4,3,1,3,1,6,4,3,1,5,3,3,2,7,2,6,1,3,3,3,3,6,1,2,3,4,1,4,3,5,4,3,2,5,1,4,3,5,2,3,3,3,6,2,2,8,2,2,2,4,2,4,1,5,2,6,3,4,3,3,4,6,1,4,2,4,2,3,1,7,3,3,2,3,1,5,1,9,4,2,3,4,1,3,4,5,2,4,2,3,3,3,1,6,2,4,4,5,3,3,2,4,2,3,1,7,1,3,3,6,3,3,3,4,3,3,1,5,2,4,3,3,1,7,2,6,4,3,1,5,4,2,4,5,1,4,2,3,2,2,3,9,1,2,2,4,2,4,1,5,5,3,2,5,2,4,3,5,1,4,3,4,3,4,1,6,1,2,4,4,3,3,1,6,3,5,2,6,1,2,5,4,2,3,1,5,3,2,2,7,2,3,2,3,1,5,3,5,2,3,2,5,1,3,5,10,2,4,2,3,4,2,2,6,3,3,2,4,3,3,2,5,4,2,3,5,1,4,2,5,3,6,1,3,2,3,2,7,2,2,5,3,2,4,2,6,3,2,2,5,2,3,3,6,1,5,1,3,4,3,2,5,2,2,2,5,3,4,2,7,3,3,2,6,1,3,3,4,1,4,4,3,3,3,3,9,1,3,2,3,2,4,2,4,4,4,1,4,2,3,3,7,2,5,2,6,3,2,2,5,2,2,4,3,2,5,2,6,3,2,2,5,4,2,3,5,1,3,2,4,5,3,2,9,1,3,3,4,2,6,2,5,2,3,2,5,2,2,3,5,4,3,1,3,3,4,1,7,1,3,4,4,2,3,2,7,8,3,1,4,3,4,3,4,1,5,1,4,3,3,3,6,1,4,4,5,1,3,2,4,3,3,2,6,2,3,4,7,2,4,2,4,3,2,1,7,3,2,3,4,2,4,1,6,2,3,2,5,2,2,6,4,2,3,1,4,2,4,2,8,4,2,3,3,2,5,2,4,4,3,2,5,1,2,2,6,2,6,3,4,3,2,3,5,2,5,3,3,1,3,4,10,3,2,1,6,1,2,2,6,3,4,2,3,5,4,2,6,1,3,4,3,2,5,1,5,3,3,2,4,3,2,3,7,1,4,1,4,3,2,3,7,2,3,4,5,1,3,1,5,4,3,2,5,1,4,2,4,3,4,3,4,2,2,1,9,3,2,5,4,3,4,3,5,2,3,2,6,1,4,3,5,1,3,2,4,4,2,2,5,3,2,3,4,2,7,2,6,2,3,3,4,2,3,3,6,1,5,1,4,4,3,2,7,2,3,3,3,2,3,3,6,4,2,1,5,1,2,4,8,3,5,2,3,3,4,1,5,1,3,4,3,2,4,2,7,2,3,1,8,2,3,2,5,2,4,3,4,3,2,3,7,2,3,2,5,2,4,1,4,5,2,1,4,1,3,5,6,1,4,2,3,3,3,2,7,1,3,2,4,3,4,2,7,3,4,3,4,3,3,3,4,1,5,3,6,2,3,1,7,2,2,4,4,1,4,1,4,3,3,5,5,3,3,2,7,2,4,1,3,6,3,2,6,2,4,2,3,2,4,3,5,4,2,1,6,2,4,4,4,2,3,1,4,4,3,1,11,2,2,3,5,1,3,3,5,3,2,3,4,3,2,2,5,3,6,2,3,2,2,3,6,2,2,4,4,2,4,2,7,3,3,1,5,1,4,3,5,2,4,3,4,3,4,1,7,1,3,3,3,3,6,1,5,3,4,1,5,2,3,5,7,1,3,2,4,3,2,1,6,3,3,3,3,2,4,1,6,5,3,2,5,1,2,2,7,1,4,2,4,3,3,4,7,2,3,4,3,1,4,3,4,2,4,1,7,3,2,2,5,3,3,1,4,4,4,2,5,2,2,4,3,2,5,1,9,2,3,1,4,2,3,6,4,3,5,2,4,2,2,3,8,1,2,3,4,2,4,2,4,4,2,2,5,1,4,2,7,2,5,3,4,3,2,1,6,2,2,3,5,3,3,2,5,3,3,2,5,2,2,4,4,2,5,2,5,4,3,1,8,4,4,3,3,1,5,2,5,2,2,2,4,2,2,4,6,1,3,2,4,5,3,1,8,1,4,2,3,2,4,2,6,4,3,3,6,2,2,2,5,2,4,2,3,2,5,1,6,2,4,5,3,2,3,1,5,4,2,3,5,2,2,2,11,2,4,2,4,3,3,4,6,1,3,2,4,2,6,2,5,3,2,1,4,3,3,4,5,1,4,2,4,2,3,2,9,2,3,5,3,3,3,1,5,5,4,1,4,1,2,4,6,2,4,1,5,3,3,2,6,4,2,4,4,1,4,2,7,2,2,2,6,1,4,3,5,2,4,1,3,5,2,1,6,2,5,2,5,1,5,2,4,3,3,3,6,2,2,4,6,2,4,3,4,2,3,2,6,2,2,4,4,2,3,2,7,3,3,1,4,3,2,3,4,2,8,2,3,4,3,2,9,1,3,3,5,3,3,2,5,3,3,1,6,1,4,2,5,2,4,4,4,4,2,2,6,1,3,2,3,3,5,2,6,3,3,1,5,1,3,4,5,3,3,2,4,2,2,2,8,3,2,3,4,1,6,1,4,4,2,2,4,2,3,3,8,2,4,2,4,3,3,2,5,1,4,6,4,2,3,4,5,2,4,2,6,3,2,3,5,3,3,2,3,3,3,2,8,1,2,4,4,2,5,3,6,2,2,2,4,2,4,3,5,2,5,1,4,3,3,2,6,1,2,2,5,2,3,2,9,6,3,2,4,3,3,2,4,1,5,2,5,3,2,2,7,2,3,3,3,2,4,2,6,3,4,1,7,2,2,4,6,1,4,1,4,3,4,2,5,2,2,3,3,3,5,2,5,3,3,4,5,1,2,4,6,1,4,2,3,3,3,1,9,1,4,3,3,2,3,2,4,5,3,1,7,2,4,3,6,3,5,1,3,2,3,3,5,2,4,4,3,1,4,2,7,3,2,1,6,4,3,3,4,1,4,2,4,6,2,3,6,1,2,3,5,1,4,2,5,3,5,1,5,1,4,3,8,3,3,2,3,3,2,1,8,1,3,2,4,3,4,3,6,4,3,2,4,1,3,4,4,1,4,3,4,4,3,1,7,3,2,4,4,1,5,1,5,2,2,4,5,2,3,3,7,2,4,1,3,5,2,1,5,2,3,3,4,2,6,2,8,2,3,2,5,1,3,5,4,4,4,2,3,2,4,2,7,2,3,3,4,2,4,1,5,4,2,1,6,3,2,2,6,1,6,2,3,2,3,2,6,3,3,4,4,2,3,2,5,4,2,3,6,1,4,2,5,1,3,3,4,3,3,2,11,1,3,3,4,3,5,1,5,3,3,1,4,3,2,6,6,2,3,1,6,3,2,1,6,3,2,3,4,2,4,2,6,3,4,2,4,1,3,3,5,2,6,1,3,4,2,1,7,2,3,3,3,3,3,4,4,2,3,2,6,1,4,3,8,2,3,2,4,5,5,2,6,1,2,4,4,1,4,1,6,3,2,2,4,2,3,3,4,2,5,2,4,2,4,3,10,3,2,2,4,2,3,2,5,4,3,2,5,1,4,4,5,1,4,2,3,3,3,2,7,2,3,5,3,3,3,2,8,3,4,2,6,2,2,3,4,1,3,2,5,4,2,1,6,3,4,2,4,1,6,2,5,3,2,2,4,2,2,4,8,1,3,3,4,3,2,3,6,2,4,2,4,1,5,2,5,5,2,2,5,2,2,2,4,4,5,1,4,3,3,2,8,1,3,6,4,1,4,1,5,3,3,1,6,3,2,3,6,4,4,2,3,3,2,2,6,2,3,2,5,1,4,2,7,4,3,1,4,2,4,4,5,2,3,2,3,4,3,1,8,2,3,3,4,3,3,1,4,3,4,3,4,1,2,4,9,1,7,2,4,2,4,3,5,3,3,3,3,1,5,1,6,3,3,3,6,2,3,3,5,2,3,1,4,5,3,2,7,2,3,2,3,3,4,4,4,2,2,2,6,2,3,3,5,2,5,3,3,2,4,2,7,1,3,4,3,2,4,2,9,4,2,2,5,2,2,3,6,1,5,1,3,2,2,3,6,1,3,7,4,2,4,2,5,4,2,2,5,3,4,2,6,2,4,2,5,4,2,1,6,3,2,3,3,2,5,2,5,2,5,2,5,1,2,4,5,2,4,1,5,2,3,2,10,2,3,2,3,1,4,2,4,5,3,4,4,2,3,2,6,1,4,2,4,5,3,1,5,1,3,4,5,1,4,2,7,2,2,3,8,1,2,3,4,2,4,3,3,4,3,1,7,3,2,3,3,1,5,2,6,2,3,1,4,5,3,5,7,2,4,2,4,2,4,2,6,2,3,2,5,2,4,2,5,4,2,1,5,2,4,4,4,2,5,3,3,2,2,2,8,1,4,3,4,3,3,1,4,3,4,1,5,2,3,4,6,3,4,1,4,5,2,3,6,2,2,2,4,2,6,1,13,2,3,3,4,2,2,3,6,2,3,2,4,3,3,2,8,1,3,4,3,2,4,3,5,4,3,1,5,1,2,2,6,4,4,2,5,3,3,1,7,1,3,5,4,1,3,3,6,3,3,1,5,3,4,2,4,2,6,2,3,4,2,3,8,2,2,2,5,2,7,1,4,4,2,2,5,1,3,3,6,1,4,3,3,3,2,2,7,4,3,3,4,2,3,1,7,4,3,1,4,1,4,4,5,1,4,2,5,2,3,3,6,3,2,4,4,2,4,1,4,3,2,2,7,1,2,3,9,2,4,3,3,5,3,2,5,1,5,2,3,2,4,2,5,3,3,2,5,2,3,5,5,2,4,2,3,4,4,2,8,1,2,3,3,2,4,2,6,3,3,1,5,3,3,2,5,1,6,2,5,2,3,4,5,1,3,5,4,3,4,2,7,4,3,1,5,1,3,2,4,3,3,3,3,4,4,2,8,2,2,2,4,3,4,2,4,2,4,2,4,2,3,5,6,2,4,1,4,3,2,1,8,3,3,3,5,1,4,1,6,3,2,3,5,3,2,3,5,2,5,1,3,3,3,1,10,3,5,4,3,2,3,3,5,2,2,2,6,1,2,4,6,2,4,1,4,3,5,2,5,2,3,4,4,3,5,2,7,3,2,2,5,2,2,4,4,2,4,2,4,3,3,2,7,2,3,2,6,1,4,2,4,7,2,2,4,2,4,2,8,1,5,3,3,3,2,2,6,1,2,3,3,4,5,1,6,2,3,2,6,3,3,3,5,1,3,1,5,4,2,1,7,2,2,4,3,2,6,2,4,2,4,3,5,2,3,4,6,2,3,1,3,3,2,2,7,3,3,2,3,1,3,5,8,3,2,2,6,1,3,2,5,3,6,2,4,3,3,3,6,2,2,4,4,1,3,1,6,3,4,2,5,2,3,3,6,1,5,2,3,5,3,2,5,2,3,4,4,2,4,1,7,5,3,1,4,1,3,4,5,2,3,3,4,2,3,2,10,1,3,3,3,4,4,1,5,4,4,2,5,2,2,3,5,2,5,2,4,2,3,1,6,2,3,5,4,1,5,3,6,4,2,3,5,1,2,3,6,1,3,2,4,4,3,3,6,1,4,2,4,1,6,3,4,3,2,1,6,3,3,3,10,2,3,1,4,2,4,2,7,1,2,4,3,2,3,1,6,5,4,3,4,3,2,2,4,3,5,1,4,3,3,2,8,1,3,3,5,1,4,2,4,4,2,1,9,2,6,2,5,1,3,3,4,4,3,2,6,1,3,3,4,2,4,2,7,3,3,3,5,2,3,6,4,2,5,1,4,2,2,1,7,3,3,3,5,3,4,2,5,3,2,2,4,2,3,3,8,2,5,1,4,3,4,1,5,2,3,4,3,2,4,3,6,2,2,1,7,1,3,3,4,3,3,3,3,5,3,1,9,3,3,4,4,1,4,1,6,3,2,2,5,3,2,3,6,1,5,2,3,3,3,4,7,2,3,2,4,1,4,1,6,4,4,1,4,3,3,2,4,2,5,4,4,3,3,2,7,2,2,5,3,2,3,1,5,2,4,2,6,1,2,3,7,3,3,2,5,4,2,2,6,3,3,2,4,2,7,3,5,2,2,2,4,2,5,3,5,2,3,1,4,5,2,2,8,1,4,3,5,1,3,2,4,4,3,2,5,1,3,3,6,2,5,2,3,3,4,1,5,2,4,4,3,3,3,3,10,3,2,1,6,3,2,4,5,1,5,1,3,3,3,3,7,2,3,3,4,2,4,2,4,3,2,3,5,2,4,6,6,3,3,3,4,2,3,1,8,1,3,2,3,2,4,1,5,5,4,1,4,1,2,3,6,2,5,2,5,3,3,2,8,4,2,4,4,1,5,2,4,2,2,3,5,2,2,3,6,1,4,1,5,5,2,2,6,1,4,3,4,2,4,2,6,2,3,1,5,3,3,4,5,4,3,1,3,2,3,2,9,2,3,5,3,2,4,2,5,3,3,2,4,3,4,3,8,2,5,1,3,3,2,3,5,2,2,4,6,2,4,1,5,3,3,2,6,1,3,2,5,2,5,2,4,3,3,2,8,2,2,2,3,4,6,1,5,3,4,2,4,1,2,5,5,1,3,3,4,3,3,2,6,3,3,2,3,2,5,1,8,5,3,2,5,1,3,3,5,1,4,4,4,4,2,2,6,2,4,3,3,1,4,3,5,4,3,2,7,1,2,2,7,3,3,1,3,3,3,3,5,2,2,3,5,2,5,1,7,2,3,1,5,3,2,5,4,1,4,2,5,3,3,3,12,2,3,3,4,1,4,2,4,5,3,1,4,2,4,3,5,2,7,2,3,2,3,1,7,1,2,4,3,3,4,2,7,2,5,3,5,2,3,3,5,1,3,2,4,6,3,2,6,3,3,2,4,3,5,2,5,3,2,4,4,1,2,3,8,1,5,1,4,3,2,2,7,2,3,3,4,1,3,4,6,3,2,2,6,2,2,3,4,2,5,2,4,3,5,1,7,2,2,6,4,4,3,1,5,3,3,1,6,3,2,2,6,2,4,3,3,4,3,2,5,1,4,3,4,1,5,1,8,4,2,2,5,1,5,3,5,2,3,2,3,2,2,3,8,3,3,2,3,2,4,3,4,4,3,1,5,3,3,6,6,1,4,2,5,3,2,2,6,2,4,4,3,2,4,1,5,3,4,2,7,1,3,3,6,3,3,1,3,5,2,2,9,2,3,2,4,1,4,3,5,3,3,1,5,1,3,4,6,4,3,2,3,3,4,1,6,1,3,4,4,1,5,1,7,3,2,3,4,2,2,3,4,2,7,2,4,3,3,3,6,3,2,3,5,1,4,1,6,3,2,1,5,2,3,4,9,1,3,3,4,7,3,1,6,2,3,3,3,3,5,2,5,2,4,1,5,2,3,4,4,1,3,3,6,2,2,3,9,2,4,2,3,2,4,1,5,4,3,3,5,2,2,3,7,1,5,2,3,4,3,2,5,2,3,4,3,1,4,2,7,4,3,1,6,3,3,2,4,3,4,1,5,3,4,1,6,2,3,5,3,2,6,3,5,2,3,2,4,2,2,3,7,2,5,2,3,2,2,3,7,2,2,3,4,3,3,3,5,5,2,1,5,2,4,3,5,2,5,3,3,3,2,2,10,1,2,4,6,3,3,2,4,2,4,2,6,1,4,3,5,2,4,1,5,3,3,1,5,5,2,2,4,1,5,1,7,4,2,3,5,2,3,6,5,2,3,1,3,3,4,2,7,1,4,2,4,3,3,2,5,4,3,2,6,1,2,2,7,2,5,2,3,3,3,2,6,2,3,5,4,1,3,1,7,3,3,2,5,3,3,2,5,1,5,2,3,4,3,3,7,1,3,3,5,2,6,2,4,3,3,2,4,3,3,4,5,2,3,3,4,3,3,1,9,1,2,3,5,3,3,2,10,4,4,2,4,1,3,4,4,3,4,1,4,3,2,1,7,2,3,5,3,1,6,3,5,2,2,2,5,2,4,2,7,2,3,2,3,5,3,1,6,1,3,2,4,2,5,4,6,2,2,3,5,1,3,3,4,3,4,1,3,3,4,1,9,2,3,3,4,2,4,2,7,6,4,1,5,3,2,3,5,2,5,1,4,2,3,3,5,1,2,3,4,3,3,3,6,4,4,2,7,1,3,3,4,1,4,3,3,3,2,1,7,2,4,3,4,3,4,2,4,4,4,1,4,2,3,5,9,1,4,1,5,3,2,2,6,2,2,4,3,2,5,1,5,3,2,4,4,3,3,3,6,2,6,1,4,3,2,1,7,3,4,4,3,2,4,2,4,2,4,2,7,1,2,2,5,3,4,1,3,4,3,3,6,2,2,3,4,2,5,3,8,2,4,1,4,3,3,3,5,1,4,1,4,4,2,2,8,2,2,2,5,1,3,2,5,5,2,4,4,1,4,3,6,2,5,3,4,2,3,2,6,2,3,6,4,2,4,1,6,2,3,3,5,1,2,5,5,2,3,2,4,3,4,2,10,2,2,2,4,2,6,2,4,2,3,2,6,2,2,4,8};int getint(){int w=0;char c=getchar();while(c<'0'||c>'9')c=getchar();while (c>='0'&&c<='9')w=w*10+c-'0',c=getchar();return w;}
4 int main(){n=getint();for(int i=1;i<=n;i++)a[i]=getint(),s[i]=s[i-1]+nu[a[i]];m=getint();for(int i=1;i<=m;i++){l=getint(),r=getint();printf("%d
",s[r]-s[l-1]);} return 0;}

  

原文地址:https://www.cnblogs.com/ljh2000-jump/p/5859628.html