题目描述
Kamaldeep is good at making pizzas. Generally he gets requests to serve N pizzas at once. He serves them in the form of a stack. A pizza should be treated as a circular disk with some radius.
Kamaldeep needs to take care that when he places a pizza on the top of the stack the radius of the pizza should not exceed the radius of the largest pizza in the stack by more than 1. Additionally all radii should be positive integers, and the bottom most pizza should have its radius as 1. Kamaldeep is week in maths :P, so he wants you to find out in how many ways can he create a stack containing N pizzas.
Input
First line of the input contains T (T ≤ 1000) denoting the number of test cases.
T lines follow each containing a single integer N (1 ≤ N ≤ 1000) denoting the size of the required stack.
Output
For each case the output should be a single integer representing the number of ways a stack of size N can be created. As
the answer can be large print it modulo 1000000007.
SAMPLE INPUT
2
1
2
SAMPLE OUTPUT
1
2
样例输入
1000
599
393
230
789
120
66
951
205
834
694
978
149
640
109
997
951
278
991
434
200
529
913
523
611
313
513
611
284
709
390
471
455
851
353
111
689
442
544
797
151
30
521
993
843
527
684
958
845
87
241
989
869
134
16
484
414
60
319
298
342
834
246
522
515
301
830
737
128
80
56
237
972
180
99
269
163
191
101
767
662
679
410
474
670
33
74
992
870
371
237
991
118
330
490
573
956
312
53
670
829
149
6
316
417
385
398
633
92
316
789
843
96
778
367
916
432
190
893
261
912
466
927
175
376
904
519
374
479
929
97
299
852
407
270
660
416
768
184
474
399
922
488
454
934
45
515
432
790
922
571
462
886
654
369
14
335
962
385
200
792
315
998
603
258
473
260
875
750
966
260
283
883
788
282
308
516
51
514
418
885
951
369
919
877
106
336
79
191
483
947
712
644
586
944
235
163
166
339
275
664
229
790
17
90
960
790
346
77
265
881
782
600
586
187
669
314
699
15
327
526
614
619
976
693
707
36
55
154
579
472
386
32
396
163
968
104
520
809
586
215
122
235
671
372
38
948
466
151
444
219
442
493
673
651
110
672
73
717
867
524
501
503
907
964
4
166
747
10
746
167
474
941
178
260
649
245
753
418
460
346
281
278
795
202
670
720
325
626
921
831
962
916
110
612
554
710
636
355
23
579
936
324
981
691
926
72
202
734
454
47
69
957
943
398
943
577
434
349
944
661
422
351
384
198
67
827
780
252
749
791
592
880
807
300
151
277
281
356
500
291
384
776
475
838
697
526
442
461
721
336
294
263
196
80
667
48
536
935
195
360
501
557
330
165
195
474
220
367
272
387
91
633
565
456
665
248
812
683
735
507
160
307
88
874
160
566
565
52
601
453
933
520
543
1
832
973
688
587
712
685
862
49
261
204
351
821
388
814
491
271
419
486
481
987
995
284
661
101
802
526
602
289
469
975
968
575
158
516
978
203
352
979
31
979
548
727
955
537
126
662
178
440
985
315
104
540
276
39
24
986
168
203
527
702
622
152
475
524
226
983
309
910
878
45
176
940
940
374
918
345
109
531
94
18
775
686
139
321
253
17
844
472
377
742
731
370
375
993
981
875
990
770
661
263
216
591
469
496
987
670
242
97
155
936
194
607
574
705
789
824
148
852
693
859
769
596
236
855
857
469
321
40
407
224
718
243
81
805
296
99
227
179
484
764
854
747
787
261
429
963
345
99
220
454
928
440
886
752
772
962
161
656
819
15
536
430
699
455
813
339
255
234
80
464
448
352
929
799
740
495
870
726
957
895
385
450
440
298
986
239
281
15
380
941
360
837
886
207
626
300
888
422
222
32
520
186
593
183
880
264
457
457
934
790
851
920
144
883
682
789
521
453
285
905
997
730
83
933
677
280
205
201
359
144
976
721
957
524
293
742
464
906
815
864
192
648
41
521
219
143
577
877
129
245
533
478
975
506
176
491
272
124
41
320
212
878
905
65
875
331
855
73
963
776
89
255
218
952
961
679
216
25
946
23
107
187
517
624
497
225
940
20
308
392
42
559
421
868
670
341
776
314
746
307
431
392
548
610
61
761
704
174
98
309
632
758
366
892
145
715
684
659
299
163
804
551
164
535
909
655
130
432
341
654
828
345
422
885
755
286
520
384
242
826
517
431
679
110
132
564
757
509
629
940
935
524
158
158
875
839
856
857
753
687
161
539
839
439
54
803
875
366
5
184
483
391
669
2
28
587
442
198
533
569
873
592
527
987
988
993
307
786
162
15
416
76
838
596
304
561
18
422
814
222
665
797
615
992
222
852
682
786
916
775
948
626
66
467
4
749
754
531
608
571
711
270
499
469
545
893
635
971
399
466
75
658
759
77
98
506
380
376
29
22
13
394
568
405
686
761
396
845
414
576
262
103
852
856
372
669
374
315
837
288
799
283
787
391
764
105
831
777
244
762
762
531
466
348
404
678
152
454
219
335
769
581
384
706
747
739
73
641
72
137
983
453
88
838
517
984
308
280
324
193
121
62
948
46
598
136
331
840
532
254
35
40
106
70
44
968
466
113
126
836
636
109
192
22
284
989
786
657
74
699
35
94
503
600
224
642
63
587
946
73
247
485
571
635
163
510
612
812
404
992
846
426
173
80
307
887
825
461
424
198
723
809
426
75
106
468
913
555
334
48
125
667
763
424
692
188
577
641
86
955
109
546
853
751
88
848
892
20
618
634
98
564
411
164
123
589
334
118
380
30
698
444
561
179
758
521
样例输出
558625738
687016963
343764928
155257773
513967253
479379757
734048238
374756177
528476230
865521998
87399903
773037141
738337745
703798750
542520502
734048238
267648423
39334644
721900618
380668983
312418363
401879891
77447456
551352594
765734098
618611219
551352594
345323768
626369877
516069180
940371542
862940854
528261400
714227851
618375990
159196930
347609311
769621671
671472701
243701468
272358185
551167559
541659849
353687769
363591676
644565086
345548333
245676729
884560880
340981140
243337905
149844467
216705655
480142077
501518651
459314034
462072300
100445725
784409511
189986528
528476230
4959332
389204003
106666757
17015606
495347444
46762760
967654419
519104519
848074470
393391701
286692969
318332431
435431099
948921599
239795364
730250437
513369106
111192011
959511676
760997582
355054738
929449942
503636634
692873095
392794164
831631854
308119110
584759931
393391701
39334644
807141069
289443930
459657583
842108931
154072663
768179852
654591160
503636634
916862272
773037141
203
126833304
788604648
914199453
556987417
839342879
557337842
126833304
155257773
353687769
462067202
638987456
874916804
429556898
357840989
442387331
374632916
929322036
226624101
959000039
98267582
238407093
559854872
189307316
392585017
96881033
286568146
717487549
677783523
835815713
876353388
362620950
252835397
826943616
534741938
150577654
617996713
929449942
447666745
137519647
179014658
30575457
146948138
540284076
106666757
357840989
49705622
137519647
17188673
799847612
589151703
994761753
220742732
190899322
535998256
57970886
914199453
380668983
164127879
541194960
967119953
575407529
189836713
582585495
683193288
430364344
111971627
776860470
683193288
351366578
599470900
726563479
242880452
949269501
661839198
781824096
462328092
945028000
962614595
734048238
220742732
770962364
574904506
163160926
658801091
358229039
730250437
18843013
929434429
262988042
929752458
264469934
882547786
370270411
239795364
835250259
552723022
970123610
514214633
30279679
49705622
864869230
200350027
658594149
49705622
684703320
475335490
141180580
937276559
668558160
306201933
264469934
137306007
116939617
928340756
583948688
382958538
403977567
941433736
672011813
38454892
573301289
812176354
306091228
817756178
748630189
932327662
875551801
906010703
628402767
744733441
926059014
239795364
334199385
353529690
950280707
519365334
264469934
728411148
230725907
370270411
660499296
109573948
683685664
832158433
959000039
243701468
623122523
228029692
347609311
556039265
273788323
499704706
386436223
659726735
82034048
332750699
279367618
158414991
570275686
996201577
359845738
584117466
15
835250259
748186407
115975
452604321
159173149
929449942
956487685
728003485
683193288
406391337
866470542
451853028
945028000
168367459
684703320
212459491
267648423
956148983
278111491
503636634
196862045
505669854
968838901
991268380
802477106
57970886
429556898
386436223
323601313
871313316
852501236
993779953
647148160
546020311
875551801
132289464
643160582
493582549
313599675
783585266
467465396
278111491
71985964
30575457
647209774
974840072
174314067
783819416
556987417
783819416
164017670
721900618
44287113
882547786
763270983
220536827
436498414
600979983
645049413
707597945
684027511
822216133
939877954
779013981
891556456
839103323
440392450
167364357
447895018
243701468
33948107
212459491
579243434
324677598
971105139
600979983
83642744
308961449
66418556
937011401
941433736
347609311
344551406
570365577
658801091
186406165
943547254
415861662
519104519
557874503
900185117
74564718
103954760
822289356
830870687
570275686
868866230
289443930
121506491
822289356
929449942
235546564
874916804
551172546
594763006
485480275
839342879
380092596
642129450
669340157
861373023
850786742
910945024
781500456
228282207
503353209
61116103
847374378
933243910
503353209
438366086
380092596
756600466
61986384
781715298
412652544
950280707
143529635
1
235968146
245141864
421699389
807530935
262988042
434509630
625494604
348985796
929322036
951914124
436498414
444565912
9791558
608404143
302109678
199109508
701904601
520694423
536038536
505139242
524090232
345323768
763270983
513369106
278888712
941433736
837357643
620872182
8705247
896413224
334199385
256364811
69273749
661839198
87399903
106909073
12098144
60102262
365885605
60102262
354838551
200189955
598093056
894150080
740982762
959511676
728003485
354602094
271374500
541194960
353529690
802488053
145637563
681586780
173093227
589229956
545801717
106909073
363591676
130342900
823199664
941251494
308961449
158414991
96916377
576899388
833942074
337106876
56353560
540284076
981758956
315573450
315573450
96881033
832342137
846019724
703798750
122925536
73976309
76801385
712756966
289427510
59261085
330081440
124824910
864869230
321352820
906010703
894253854
32876340
818984909
649500982
305784835
541659849
493582549
430364344
248443618
17668451
763270983
943547254
808161291
125659016
8705247
687116649
505139242
503636634
295449954
677783523
456857477
132289464
760335262
153386582
839289310
460234251
155257773
905854221
242994387
876353388
812176354
461119619
827274836
326054960
158336199
769944080
123785293
8705247
330081440
840750853
362620950
226442121
696284377
683858381
784488542
235198692
790490927
435431099
243044550
817681690
501518651
76164236
377206087
748186407
77703032
929322036
654822736
905112877
846019724
435431099
235546564
30575457
337193737
354602094
589151703
399961122
88566735
57970886
243194926
251453632
305540948
382958538
74564718
613850019
583948688
862940854
416385106
552723022
204884446
989808717
519104519
671596530
918727309
12098144
717487549
871069222
255977331
957546568
308119110
263486377
174314067
307869727
914199453
114981703
354602094
784409511
589229956
507200370
212459491
382958538
532579856
956487685
830870687
682345813
589151703
286442394
968838901
447895018
642961512
220536827
758052804
744733441
950280707
307911059
418357064
929106232
440392450
103031032
34525888
34525888
146948138
49705622
528261400
294422843
153903806
599470900
933152490
155257773
551167559
781715298
285497541
728764788
542520502
450522487
307919717
412652544
355000823
584919509
374756177
897875109
426622734
153903806
573301289
570365577
174314067
158414991
948539342
32876340
671596530
619946432
311628039
661436140
27723819
672444134
683889724
551167559
228029692
244324432
164017670
574904506
588554507
866470542
608121932
279648144
896413224
538451492
981758956
302109678
551172546
792763805
683889724
242810216
182439740
56353560
728764788
159996073
430364344
478095124
769944080
82034048
905112877
83642744
791103220
204884446
692451577
48618988
282072153
760997582
808161291
759867260
307258357
546020311
287984994
137306007
177836427
67389319
3656313
579900323
315573450
157873304
949269501
962708649
216039853
399560227
695162652
51918421
503636634
234033713
83642744
928340756
452604321
61116103
941559844
962708649
354838551
633510090
334907097
5994845
117550047
971751677
295755371
833942074
647599527
160000437
753535741
654813100
292097031
475123008
644565086
381253760
835815713
239795364
222597908
135254314
522687881
783033644
690964059
808150613
728057622
357840989
234033713
994761753
596294441
846019724
220536827
962614595
902775588
692868556
950280707
600979983
295449954
512703782
177836427
941559844
760997582
386436223
818342358
3688778
498862780
389525459
836812364
315573450
103954760
158414991
69273749
69273749
430364344
603372280
772953529
123785293
451853028
502291783
243194926
274365270
603372280
859322955
171792186
332713952
430364344
753535741
52
617996713
18843013
651367831
116939617
2
159122123
807530935
347609311
645049413
608121932
588918084
890320056
839103323
363591676
505139242
789538901
541659849
61116103
516998387
688663125
382958538
534741938
344807921
66418556
326054960
394134115
987661859
76801385
220536827
608404143
758052804
669340157
671472701
612805937
831631854
758052804
876353388
933152490
516998387
429556898
712756966
832158433
968838901
479379757
614621296
15
779013981
798326812
122925536
633092291
17188673
241076503
252835397
716689588
8705247
249500752
374632916
169911213
521442872
447666745
959000039
700950185
143101466
629259604
475335490
295755371
538451492
532579856
559854872
665114805
706900318
27644437
539878802
240796679
242414970
289427510
5994845
926059014
245676729
459314034
121095676
73574908
143018012
876353388
772953529
109573948
116939617
96881033
541194960
682345813
675626979
871069222
351366578
77703032
651367831
76164236
591382993
802477106
873585716
903859151
631476109
631476109
122925536
959000039
505050988
599892490
194537583
941251494
30575457
228029692
535998256
827274836
262141182
600979983
56770880
748186407
870671823
82034048
8172262
467465396
330735015
576899388
781715298
847374378
66418556
177836427
20454903
949269501
584919509
643160582
80605394
460200768
10474572
832158433
514254014
430532716
867213913
478095124
439233253
768845786
954530940
828412002
840750853
163160926
209152841
858087702
334199385
959000039
536261496
740982762
772044489
993779953
703798750
27723819
706900318
345323768
243337905
516998387
543431315
392794164
583948688
828412002
73976309
996201577
306201933
226442121
852101376
495625635
807530935
307258357
82034048
237784075
457224675
17188673
169911213
239795364
25000235
323601313
850786742
599892490
831631854
325255315
52430883
290163328
519104519
61116103
997944986
901986568
344551406
167761915
645049413
451528865
519365334
52430883
700950185
163160926
273560655
401879891
343673168
729278433
900185117
368353031
557874503
371320167
167761915
560298831
887695462
164017670
8172262
335414677
598093056
703798750
619408647
339195128
175687535
847374378
923699200
654813100
157873304
32688571
242347168
295755371
3688778
176340034
522687881
239843627
246698645
729278433
807141069
532579856
272358185
791993161
623122523
987661859
817681690
160000437
551167559