P21447 [HackerEarth] Background:
提高
题目描述

Background:
Verma was very afraid of his maths test to be held at school, the next day. So, he dreamt of one of the hardest questions that is likely to be asked in the exam.
He calls his friend Mehta, who is already good at maths.
So, he asks Mehta to solve the following task.

Task:
You will given a number N.
F(N) is defined as number of solutions of the following equation.
such that,1. 2. (x & y & z) > 0, where '&' refers to Bitwise And operator.
Since, the answer can be too large, you need to calculate F(N) Modulo 1000000007.

Input:
First Line of the input contains number of test cases T.
Next T Lines of the input contains a single integer N as described above.

Output:
Print F(N) for each given N in a separate line.

Constraints:
T ≤ 10^3
0 ≤ N ≤ 10^18

SAMPLE INPUT
5
10
123
345
567
231

SAMPLE OUTPUT
3
4105
30142
111295
17551

输入格式

见题面

输出格式

见题面

样例输入
369 105211719704939812 975299303541729168 713295352507970587 985270380620732215 782119425811258509 177620904290634167 684192081488763643 882963402433514435 602200786897147533 452864817455396336 523188286750223508 531297364834841063 517805575633648073 42157975316890830 280474724482341222 507343950789139190 189482155681270116 14306014862136710 272798773500348743 748659497081668930 390756973648114084 552476272741757432 684531871333044005 67747279861407311 815610455778681831 924475810375680046 646470656061073731 21896474070908045 249930839984212161 107003079031739980 529927468583163846 306732612894678089 705769043333376563 256210376612151016 819247176235357885 680239214943128988 742170359783656030 348352039372128679 973802968458798794 863600559854989146 943577004054729704 144637522891940677 219972837974689611 510148965534213347 340273713218009432 508159887480725569 470448149723448545 66392695973703283 84982651491480415 738136053932188995 863983773636458622 749463152117407543 127982769540680456 215150744682052037 116111872715830166 14424281623032977 311721355868666606 701698039123684973 984777523946985731 535467981927049455 504712746431440767 707479105347382851 615566254360253032 866714684027344536 744681508983315221 864037155540924999 665171071647103268 854957106647958798 283418094076804963 284281320364098067 234057903713937020 93205142302186396 928978611728467375 319528818561972201 135311659201826762 294976135684816824 731110134155322625 327108937023405606 900410083033279929 677649904154329606 509611592200277079 870563066921076115 872873463482070567 812086239582832646 709626384425094638 522533101413450010 348607964047004043 487235925690755545 865736217416753330 763472005079844631 569783685924278939 727934778360831260 443052136620068759 274819543963077953 835073484385860179 956812462644179588 268367207443977704 173745761199388402 155245003040589642 616868245093046126 151428160219008550 323413490729045095 871778992039932772 105968211007397238 721818124528163463 494751556184316706 420541291954047074 593244488728561473 787268995004107394 210027597158939455 488037590867733578 233411990318449089 551967939509539028 479001011252647939 809055912725930724 610665558745499321 738057054610307455 981400764766513202 63897419054453696 408973003152954245 470043578926340595 242048260727755119 782610381018585894 643118139332927194 492167054288719108 403457358264368720 476792693540124053 68811447078350368 775069283359853495 847253496815211914 455410240801141689 161928253345949693 650291431008580874 558056134171511871 810185655882405905 325712142396376446 892448542026597471 889165328314645920 981555351516857415 82440325446851952 158602889448490855 580677566931423059 848065304131638826 157344627248363805 297094118982281616 642872838731761957 267040328896549097 813092430582741555 645962964741782046 288934032171683719 538873699167686305 426139538600622022 342688573710985188 597256620184559016 176248024719063033 975997345166817158 806511567096254406 780602698669220751 599485879633503438 618098966047884437 76457893148461296 423995304151468691 409324284923186735 448455497405011987 896562696763840311 373903299056411448 881136744031619433 145077243196813875 435064688114269698 413869834506659647 851153896490291154 383582761779127988 423262110589772268 254171503661226946 885790372440552417 675709956034488193 84810256897826035 823353039845227837 77711229247351185 202136580286171214 985190517821942520 139473535407230292 144520446261393711 373305693267790749 482894472835277179 162562139601932123 381801437396077273 79665704846922034 973543804615010647 738726898847163652 845161371516759186 593110535089576721 442841656391258443 903881987708864786 326233163688056744 469752646220836179 741565296887638203 622770429228735400 800218412207524796 189405319995667007 873354947672646151 289767691452865426 257285957101868951 153292536257128824 914060718084142172 986837400874087213 326722123508796539 593115769450516743 346841976477028526 244369589559002444 799835409271269532 334234431050303315 653789673240182861 401413495013862528 658220305466396007 295122169682980091 208453517819753864 84372167866512357 361691074221853404 455288363910082276 391621531749887595 510352734091655862 434249359968644781 56341188270975810 148122187238458016 487802696455759678 834304521691852979 740605540834853533 511288647457455037 711952138274671600 482241187831329927 180383215136810628 926720761994734860 122612507935630107 286743839931178004 164186178123453403 889984127284789930 252203071033988182 220909011371544307 961169857364096975 701802381451335082 871040220577655033 550711016112718237 382467545245008450 347128302770565651 695673739184841482 901841027042506087 664670102716838335 95334039394260234 718140329001977388 950356080364202680 212803707585733831 379834885142059744 811297497226985365 526424256554203290 970485878912520233 219327957542722418 718863208383218429 440262528359175061 587649185440686817 35997490872187141 733957574944422709 820804812655206980 64342414208443940 454428051507505523 907576621585393575 260963257074358622 72322091607612162 958996629463971909 1959509023767376 846704013288080165 258330002570297365 909181565084216896 487556036971333387 359188374683115702 787666410636836229 891076947953830933 746561508890608079 730448255031142642 223842720838355804 354663780912302694 723885534386179727 715086907024058560 286636229937862729 929965165895865570 473389689569001226 983952712395662136 20120484002075427 573557680967760489 747476825593329074 149571180416018064 455753191457230349 992697165973691265 581633552534767423 360633728383926522 615282182805261883 309798268063745408 828744904353078302 713061263263804026 459869235358037220 144493318056823163 637011402759807576 177610972032249404 751038569003648261 284939166708184021 159975282597781442 601818154366934645 870490946576848915 635313877797186885 531977394002152599 103298774173360111 617844714246392458 881192108858654515 321019199962997972 775461025151008707 180848270888459321 608566424555407555 287818499551544381 712097906251700343 504072477629066671 620354371087108707 551583103076671587 686306465222747785 185970925206598969 258661835813932939 905767857999888149 329560900289407009 344951443629103646 333039370824548772 855558108902796693 374888269151740494 171651351963393952 40694953794571162 967926049428731060 973427307153612464 530709886437380815 580269454311707122 31863261985566503 472610378557459331 869883947831093379 120731243435650606 790154910642133890 445552654649031556 936819603422916157 731158358323136364 545037059927142460 376614579019778208 520624370235325700 595154838138919179 189059714654429170 406116740408849178 922277439535628606 591594665449850014 501579961952013161 51382977669617222 432907344059615799 540472902338843434 718627947031973633 720286139395270440 56016128739073039 485995072510463474 546510991856833803 737254136235551740 700231950108163752 409838179540531003 448216648035525050 922330006964348664 20175304782367649 347620121444859017
样例输出
170403512 597953748 517954853 511690986 164750713 200135057 626887335 986580280 962003614 16217739 203594060 891594971 676888443 91099353 858837803 611646754 6329961 122609891 865530343 781771293 519212930 701742154 97368636 411351666 285745742 90141682 3234851 701287651 853048004 929701841 223340582 540509516 143498626 467306285 677652392 188189397 422478872 248631320 489093083 698218538 904369505 18241767 82786260 443718962 310871493 151722174 694388698 747271931 879254562 587425683 467361511 449718954 137981846 469212578 247884760 682571731 624676223 871153915 436752633 459065740 753590466 914318510 81581005 803197808 771970768 890076799 454482003 537243399 825552894 879740415 672309403 733460110 591938020 582212490 527565508 511411557 780896874 386400996 774401494 726192658 774156038 419125297 224045434 451428974 966360630 437084659 477185659 895794149 425946001 108136220 3311632 964244794 742717803 721206725 634364837 913999793 598798277 938658466 215604724 198140101 360159423 356574525 144945432 701910718 467268434 338050748 208193581 911476361 609173282 214936600 6099480 533774614 431187955 856556087 742381330 821575955 718387063 229446017 785216274 356750427 920971463 928564734 231460386 705061844 680139842 883113894 427621581 565903686 286575318 198960076 248644192 208461276 838682296 397343235 248645046 5535358 171644982 733640210 237356415 818360346 576130336 300222449 357736091 121663662 819854799 867614993 621445170 795821964 392403312 697210232 78493128 666806007 655137520 666002415 746278670 525759408 189948822 393681214 363578932 340317290 230200838 39081357 440216873 909898782 773830667 692432689 972612814 178713612 636321541 772952664 984303417 16980516 363646230 292053827 136816002 194795899 52512331 299529203 926076703 511881682 166267085 70584609 768082080 49389595 903008844 569960143 187875244 981402570 103724780 711998688 115332984 749173933 136931507 204889890 857076970 404380288 195715779 646007089 790373013 33387450 13437234 380433545 286275677 498226850 881304206 708946244 47144879 188420701 998073421 904014763 805508598 106979930 534631432 137267613 938876075 640275553 426824506 917025957 298017352 676773035 168945810 535588363 176515512 402293674 251337523 494889499 52147134 553812080 457305937 735892772 25505976 579634560 740460240 388224777 703740434 385892204 648528867 940663478 276017608 197956958 231005202 850883748 632442541 979428369 15787647 143522622 555650186 506851045 231130131 946765381 124153889 733765871 110313515 33739273 768185365 343520452 454293951 376295859 782550944 527665166 380542397 38095377 603460609 44398853 133751320 202515314 439943602 298616798 261468421 247983394 362348214 209688068 547981414 939650504 723699363 891368888 945031737 344251111 798942056 228579935 547899555 418866424 538189998 750044479 275352482 499042442 715753310 659587899 778257756 153980570 710498346 370169502 207575076 551538977 145564731 562108583 489528017 297059162 982802228 111791720 282376669 100108161 313177680 4642560 766770338 850643473 239055428 45795349 374407585 805654806 302073430 614118008 233396475 916502266 812354300 579403665 578060740 195729705 769943737 244287710 701578597 165836762 499239794 329198408 939187554 151562190 430274021 601515053 955098531 563573356 329312711 409148293 251503459 737923104 799471742 419806085 802230371 512237042 303438258 518361636 576374605 884897583 517885828 183919199 13897805 677044918 18374684 169008761 280925838 45924835 164553476 804944606 559676338 650972869 634272434 526055520 526725211 401602140 966056782 797847968 610469189 566364681 733061787 312508963 24391971 518363211 241556898 970522016 237682400 717743335 954301260 386820813 962603198 999171778 9778396 630453336 57785469 883025815 628205849 231151938 61424341 362914324 155904788 20442564 756575718 365595954 125347589 263590686 235492207 377656115 705517892 310758190 899006862 518715951 321448205 904853802 1741910 711977355 183190675 862712198 859347241 267333144 450387362 319864725 120093828 840816989 646291448 442274288 185136643 60360050 967974015 792477115 616926907 965692737 686225184 897085335 610006404 278930426 145993545 522686418 716520399 731342899 729932947 552571211 868117962 406771670 786981935 432813344 469279961 117100995 362248179 542730655 821663434 289476300 41006119 885994509 522667767 592068574 927764689 233225559 551478325 397325263 333021613 626871215 519344384 437873788 460859573 982382706 103526853 721056519 730687622 107777984 184868063 608139285 271625224 704089395 319857224 221215366 63862786 141265300 243389247 923872221 113690755 766794484 933756280 827045909 353575087 851943740 523559270 691246220 578547337 374706849 599530370 844943560 777878741 602238797 438325099 742766927 836804359 737454611 862209295 758180456 1437448 215687049 180132794 553883882 984193428 196001912 795649337 81371088 195454422 152106783 476070510 108605461 436233415 383130213 605895396 775952511 785511115 668108348 415405194 48253466 418727152 790118255 797944409 796894125 530220424 400448147 347357714 354592879 638545812 677550609 8714884 41210123 443355164 247057953 374859337 118966225 153760382 223929296 561414158 525755907 965190864 408029081 204430918 42751472 933227208 819783843 119270759 235021820 971414694 936573150 562972510 774763482 993705707 807198910 271788317 3063643 821290895 748344722 39122854 10896742 145378761 862807927 600330199 374254919 335593682 739426827 264623655 277663679 729880900 322632519 771633659 77411581 243831859 343121816 449713692 903395200 129142580 997294308 295278389 91893587 681659556 772012852 25272526 157610693 571131512 495047512 896407293 522096405 760975510 164329255 469936688 309331432 622372951 804279044 661894157 574632113 514494567 594154247 676576793 675489342 366729228 696598181 539790388 698150703 6473672 706246398 923132149 252261723 497109844 44589659 893458363 385176800 421338333 163321099 32503641 485462462 357891946 634020054 153770554 594150183 420603917 279527519 115894138 938337577 204268333 36472606 506197115 527492587 101202384 258294732 320712301 454928192 469034987 192545936 928051535 894869423 600187603 255218324 185130922 131675468 852180622 277100450 116213334 40548644 621173543 714986399 280419905 871224059 971012091 395422477 271064905 333977521 307718935 637317752 956713475 441147354 109278334 520968645 470380686 183963028 279241674 139599706 733511799 186824584 570125738 803106970 167308222 968439403 596788990 959962245 459115842 88655916 502709835 99481295 609186690 284691716 327281821 991435936 445501356 651405628 885262319 128365409 517171400 318629127 106446080 434817446 273393493 4155939