P17645 [HackerEarth] 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 ra
普及
题目描述

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