program rand; {$IF Defined(FPC)}{$MODE Delphi}{$ENDIF} {$INLINE ON} {$Q-}{$R-} uses SysUtils; type TSplitMix64 = record state: UInt64; procedure Init(seed: UInt64); inline; function Next(): UInt64; inline; end; procedure TSplitMix64.Init(seed: UInt64); begin state := seed; end; function TSplitMix64.Next(): UInt64; begin Inc(state, $9e3779b97f4a7c15); Result := state; Result := (Result xor (Result shr 30)) * $bf58476d1ce4e5b9; Result := (Result xor (Result shr 27)) * $94d049bb133111eb; Result := Result xor (Result shr 31); end; const check: UInt64 = $FFFFFFFFFFFFFFFF shr 8; var r: TSplitMix64; x: UInt64; i, c: integer; begin r.Init(UInt64(GetTickCount()) * UInt64(GetTickCount())); for i := 0 to 1000000000 do begin x := r.Next(); if x < check then Inc(c); end; WriteLn(c, ' values < ', check); for i := 0 to 1000 do WriteLn(r.Next()); end.
Standard input is empty
3906313 values < 72057594037927935 924490887049567173 11800128484270728430 6943212166369485062 10774722890657268933 2528988124248974193 6227617561490824514 1880447975140274326 9893426902212720489 7129959852885611869 8167679703964683851 9769238756180767147 13683786368370733307 13722455637628476204 6975087181495382107 14138231959923312482 288406338605125216 2867350157656282465 6201010141177831622 8140930602999565624 6936212720367552940 10178991253387124636 7432396028932472044 4175377060896183154 16487750349629001175 6159192028188047579 16875510514874651672 743861853010965805 9298105972716241263 9448366165283638620 7325308033648706047 6543754833807918743 8302421521904955451 2003554365759667438 10109626944223312050 5397836460778571261 9669541438873842807 1976178580216621057 10879951499763626713 10240932326770103091 15351036964147248050 14101550194053138104 1492586955894570078 15021202910284883394 16514857120166440342 4230393090090573329 3662446706025250123 7212383434472445637 12735600216571694645 1886453456280623208 2585683393123990872 7732453343051551060 3945888230459584898 5794298303497582324 3693008616724774296 15161889797675716394 5807958907921995966 16897928807936157821 12760618144524116336 1104820116400096492 3081858482172113127 8052263460354574989 15957847295454124204 7439632591086226425 4066251852096818630 8715900310507556335 13206325150910827786 12833503073836572861 11963330435203931349 9217777538242834885 1044881277911587345 1050852177352610170 10108603938281983028 5402316865069667751 14174173744492949315 6110133020959861880 13943833418160174441 13509491579645774110 8541173349504074509 9479428693827293652 2077055972990454150 13874427436730717069 1587939076966287825 16885756628824864514 8480674062655711210 9845121816481186777 6011341074383577008 5635495788034010426 17769211390214970066 8265965797286336194 3818891778147616638 1851374704232357511 2762663505717237922 1170542962006819129 10433109699312660537 11212066642872728322 2053241365930831920 2265688584305338418 4013741604227100693 11920855484957363764 4704907842164569671 1856530759344261048 13123948386647226573 15627377506043686285 4101327749935277811 3171354914422712837 15984083995041433671 12832738228492602019 16603582506156670786 8865231227274097550 17524244918356657699 4808421474485618779 8462489781516617357 16989797219431803410 10636306411472362682 4856334081636502066 13914564700504856829 3891439327497827935 16405232817869534723 11469919225107022176 9639331592590398746 4752025658879374060 10551900434942299625 1954265095749630784 18264040333586898878 9820118955017750948 5388279603202009133 1237893708334017146 1661110037203893665 12114507248069105828 10522146603559242062 13041418038667476244 9141321651018102651 12558661877740622328 18073394170448781983 4486840962090980093 16822647852978065893 3899805183028895082 3465135552092220386 10167189359018939934 10609316386890930399 7310789482604392702 1431665282937887479 8394033167721101855 7407761300889598060 1173334228797294309 7167088831550726142 10132677490156419963 4701829986723881158 13550438838524977915 4437854510817637635 1274114933341202165 12696725490180874023 13583846495123411616 6527301819080906435 8749378174748981156 7120985384838374889 14834059382143516976 13337923469147753466 13748663446395371578 10874153885682497827 13181622091842489550 46239888098640441 16908798948026720155 12185407046487392070 7825550466476639259 11677700013851530904 10991966966538242456 3346367616574904826 11190897083532249578 10464560652212027825 14338268642606192151 14108166856381923761 1062105482643776659 17176572846559758910 15506537708239891910 7647500655171344202 12589299761636365611 12052846750163967995 17222823453211449140 17412408047739793238 6379822925031733645 2422123234197399443 1264801839562343231 1156262618274287227 18326485876782399351 9205889565660409917 13235091535842023718 10975149770264424624 2661697740703737180 2960832485926783155 3498874654199947444 16376796884396436134 12465444479841807879 140600096612307582 10269449723839225025 6567545117492616582 15228669862448616623 5317260139009622909 6279333201005700155 14129092159910616086 2458213958222302277 17600519581916992733 12156970439474207114 14344042897404865648 4251335514427500250 1805922290815313197 10896488151309176704 10383823636038748833 6566939727575637697 3419739511765525013 5513444851932349998 9152073098195627893 1438934316982406389 6985743892985642130 15324933423230585794 12741058353131661144 3430674205991224454 8502949665653165846 6503767973415524952 14622585918351107493 17398950142090706067 6106847580235555466 8931279176284163631 6782653695425563537 5119820573398681309 8457571586531534289 1661520375384340599 11146944490803318405 11989513144201525363 16565845059744889105 5712943509744199633 2984970723756331158 10275810667991891016 4042285025027357039 111346416618005330 9383632240468306155 15302497438114361110 17621816183522570114 14302403657222984393 17499189215212772589 1386297975553651078 5526553844793324079 18327763083131913809 14530038097448780337 14871210387904368480 13023563702064923391 2983277342121793318 14940591532140242233 3750270949829578670 6718175476893363510 12346404951405509926 8528707775751325252 8777096125544389149 18071143089548954349 5390474505287313213 14793572952463585597 4072536860082490748 10996005656028094227 1240222928962686973 10153703667033712978 13439026380533822087 12245665061624348226 4276063241517146488 10670786460506596523 11470189329645347241 16559573004595626488 16827779976357540414 11719881315083128760 9891521749081610254 9219104841851167246 2085616561035374352 8854363855895384120 9409178490055340356 11383369648922210690 827859411063467769 5320330564442003339 6761579639736774905 13339861538303980730 3245675115164813512 6323620615129069072 6957145343686843777 8000104943786121620 10156839835321069534 10905034501772703543 17531148927281606128 13304431427637835286 11915276290790120305 13824571245265328296 12428430929819261674 3424575437760260496 9001180991510323505 12626826405525897259 15459673517312832355 9608918469044354413 4856550942312946550 11082107250288035878 11262202674695878655 5297481242864794427 2221344930098663155 7181729464214253724 7109578808107153446 809080022455973584 16064284812045715689 6027998733379173854 241139269609854990 13037320005364721503 6725353059170918644 10666318258395111851 737149496591950418 5527961214839763879 17100672306630166400 13898141553875861023 2255811922175921713 9026561178459637643 15661923275453454396 13394297614306194119 2876511135178040089 4075830919843118270 3484358612940458649 5290772102585232865 3214436892986561428 6138195709200109118 1306039949432292016 14071282308100826784 12103663078974088109 8445288549780156612 10864228668392725919 17027285010319279139 18426414788982142843 4579299392115938950 9040546240506119233 11107098621176628149 1433584932808823465 9051259337820725964 6160009319304991394 3943221099256410260 9915262557934041217 13718626373826784271 4137562166328951995 6495939742020616179 10175606873726945146 7211057470940203971 15060967923275329896 12317731221303477140 16138869731503643893 5155001397855458486 12960160641811864216 13333454671837590500 1920452491818458969 12346145918938017186 1737435906212859140 15489039379098148945 5577110080353810509 7815585011436282602 7902511008392110666 17788878482574221822 9085212900093226214 13513532367825236485 12937713343343824474 7475022948674261474 1516232576369835487 10047535946726658593 11800413894918513334 1933791472836682174 15325637998995656423 1016444278598806683 15135792053335848335 13032048911902355261 18205667281616874276 11654908577266026134 10926355095908770327 15790416727831795538 18334229540875614093 10687900678895273123 11160208289559830613 8924931152719551680 8094908757497857988 11023392677032169710 5464362551342739921 11141896981089402782 996262867585341910 3388332212453349156 16331040315922873419 14439068683584059134 5307692749798380898 18246048733389780773 2354358612370379891 10637541520955473763 3082640865621995422 12530664964785632358 17128517861192089927 7240780685535066981 8463278772009043343 8786579994976310744 457528075540157453 4789718847793527853 2080937974966637043 5510469755694485786 14660678448623490404 15265922509785654993 13425956358738745095 11037190064449858335 13850812955938198690 3637762710530304843 7322237263259891203 14757543559445254130 17121529859351368132 2615681215248078458 13763112460769389349 7826179153434118777 15309410915807836527 14718428521517509691 15709245006278272865 449681567381469122 15528949664618093937 1971102445064066563 95615086435999752 6632832564372447124 11002577724188908220 17566643930122215361 17362911943274828349 5790710623514505954 264882626315199441 18051160440226756799 6264691756751844055 16797846408263155982 1933071817825631835 15200550244900845146 14353068116798043171 13934282159580486881 3905933810556839630 2708777574923850148 11004268952906858842 1508286594061503757 6349274881916184851 12881770509917334513 9101197605105734035 10471980419142400265 6602688459706767212 17581697636068441703 2727826053648191199 6150770644035192057 15318864508486267729 7448813085996226725 1598613347934709691 17377095789231280702 9819702953981973601 235296476682248954 15834094546299186262 2175129865111251312 6624467609301227732 7970840109721671301 3692014816073829695 5413752610188565632 9257436428580762839 1323034385209606099 5595756529757206704 2153414876567339506 14709301822238642977 15018994664983559896 10749816314517954844 8803146902880392353 4202855549056859296 10918841653259809739 1007420915992894052 1802982634132131780 13386260709891480252 7474842850333289124 16021640356275410812 8454126594682723604 961327439563189128 2838370012622889621 15795676434817320944 16411447011180150786 3301098905026488249 9788298949936323698 6262958943826820700 16476107610351030488 15341978513965557178 11366591127236539266 996869084395392079 14071073219337098958 11782843229705647077 6871019792704730752 6216312714985988630 11429096969187253942 8145372596174464029 11433034372690973481 13564501366709635010 1617376553231105409 426183069952539512 5712195658107014337 17868211155522574879 7452936729086364104 16186033892776104037 6415099593262771158 6716754604649095091 6030802028020195501 8900625508294523655 1772945460875758227 13893287038849898655 1816935743820251551 10557222630603892812 10773440413617019360 4571266963651144193 5731217776399890066 18055355278638433752 9957787191117158805 1845742856164702015 7349415558155448842 6615225603593273934 17876166706787146911 5063057558836472896 9426266569625569657 1079462413071042132 3210871489899195634 17372433813448689848 17284936514938661647 12207106230971925701 14532587267363081589 7458125675793416175 8166716430150547738 1979768932624939443 18271826667154390669 2575914796886060914 6646091367300875904 17083118300814162723 918927160255329180 3568275090927652835 16911826147929166278 15723190701895956574 14293659767650496454 10431260407964492828 12647365553639887027 12067622845708680306 12823522763285157871 11773960590302086674 6873201264774981647 7145030658596086109 7367964405682667212 10881827906540749759 8170809991234492379 5309236965147556265 15842419797614722951 642057025539116069 13827074670357513410 3752820444541416668 14578197599184007339 893345639784294508 3421853601237790749 4151419918079221665 3592247818404217083 5885267793619999349 16548986983865235559 9558556431859889718 16287674862676754078 642872633833195021 9037165424198818142 13685698202133544435 11280338850316719939 9364396780818610614 6712394007222624980 17314480779153938507 2795428864473631295 1043283226723552842 9201466000083121313 1533735895401091215 10912813217825981811 10194464969577580867 13691534012975516136 15392950059434914186 5169792241624680604 3310786681035779710 17031198464493442846 17598719556121713257 6454912525409253572 11946306572861412988 1072421360561321252 12427228281259142606 12153141962377689736 18019911181616169664 8495067323486203305 2632068538056536290 4764009984319584953 1753630829352432210 4294056227700290289 12601425485316564921 13272615084697765619 16344946040875702712 1196113179100025004 11042208198731957736 5846064111704232786 4616728386446020812 14886095159317675298 8328483695452424989 11597684815808374267 5015599619163808487 13234639630792645254 11155489148076565004 11972144711459076047 15633678152508268162 14316268227932201128 8402441773498070255 175027356161886215 13822047082810618021 1774431637300547901 9092143001803159529 13783531538934931712 7017261731876237419 1448340585679182159 13615372013847230468 2484169589172170910 3586207342967538463 14895289780571032965 6854854463198955146 2237677981065389107 11088974672543951254 15654285378639225373 6061009713511918247 712326971231913749 3211253762503931600 10857933981962924854 17921573915430207419 8234029177250521237 7991431958476426215 16122075484859866140 8265877437090132391 561311839480487788 14265227491058007743 12079680601700594380 6070506570248882539 1265510510704810834 16904992413220464256 15539771340979526828 541667821100140027 13189353405070004910 3742902623981500675 946610835706433478 8822760512273209730 11979492913044406490 14493520311222621802 15886462376830478022 13865833894073099226 11220732056392123048 354414163321259398 448603390348207649 5605755250149032929 2392352926345167993 14687182636830586496 4114262419287154055 16368856865282758812 6420735471926565877 17796573741155586080 6692210941707847196 13754702858294199581 2102199728937448579 8705732129491794767 5351376117151141727 5750337132376146677 17874107567285179553 4999846410360921963 16708759047897579248 13832450812699224893 10810307613008929550 16334952247718998946 4105361824407449127 5446309636768026761 14559528742133261673 14156569652822099291 8854560257481180580 6606019510933619059 11931378472696045922 12200310080467679804 2492537588326806781 15859895628487570693 8914772806603051305 14137676168668731946 12457516017283259983 13321155034815996563 10184351538817354109 5805116641980933467 6585533089559677574 6276735563937869215 5244207225769316281 631812296751494973 5476618991956456728 13610380866900985001 2087513064263329529 13531025530044298037 14354013994606545169 9788574068863423542 8955024776181438099 6453342350891726150 2482809713836031160 16256913200845254619 8624822940636934185 593202016403896775 659747431815988201 14719753067049056572 2420234436536484097 17435808928799490187 17125491672337725026 4824640009116559393 3496020165907827721 2933182943177487670 1115718884128697434 3556272618022892502 8629265276129554952 5342792773353100472 16789558119793515438 17326177681954050036 17501097551348018954 5017788398412319226 15373781604070417806 10216786070691943669 4879091897789620945 6680398900045216456 1869625627019234748 12723033104316084062 10883369194099544607 11274023075893924486 13164878446001665104 8867679249210861034 16598741688495737879 13303117333977022358 15070482472422999492 5449937397705049874 15792455869603804605 4904190578775975392 711274784560318291 11831397351834445743 6750733694124095594 4703103273527840721 11528127242259537834 10917414857110391235 13293523663167449103 13800794619815328021 1316244918191305415 16130754873701780118 12401372923569880254 16936950845085801680 14743033349822797532 14136906573219781054 3712299075520287707 13005848006128598524 2380041458665905095 1046706649876597529 17618865653993073264 11010987972199667552 10251845240750830062 3101259222306799330 2060200198332992713 2520778666417418841 8898306247176585003 16892726581885078509 12799522684697367628 14135371336426119765 7956021444030369113 18331219896927545157 963415422503853605 9453344334230298966 15114223946522362714 8540162096522749474 10040803299397147736 821366089528085075 12183518368770202391 3194762967157636009 6873332257119814880 13339800744714537294 9709152608925138440 13010488927548048361 17157076988234442985 9860471946475871413 11466058853484243917 5479641257642674187 2600939167192745180 15833793303881267062 13040514879714822142 7531409473355202233 16339954474565270364 7606126915317679591 5510413787520253541 15059585344136185474 6958191545096765833 2983830468444695314 4689467172448587659 721695709692450553 3640104446056076185 9099414804757251492 14883266561653084797 2126207431054814088 10060116283018437821 15891530242990151098 3028109681873367903 5985876985049706236 4715714097728914000 13307904525134365299 750501847033500988 16755111710901395800 11283209344211418030 15979174536961558393 2386352579079121118 17829708914310143638 593952416276242933 5685232979768095035 6823149340615286450 13560831963233774976 15077001526019302004 18335773428379838878 12932135289270864317 14954589775817391250 17243661584733106020 3205801277995397800 17531294040088588650 14161890563348818634 1124587841251796766 10315330199674274776 17281830053161202261 16724479527294413723 14146563573777265632 6967323058681146274 11278912990881460367 18186590342206928010 3960102519364571532 16541014546859128449 12580514928796489525 2012117995374477906 341912400317603786 18190218733216428221 1041127319699067932 4832194504226305884 3876463943447978048 15668042925734986512 124994735417505272 2243614884687815412 13154223325474505557 4758716439199541159 3316787754950578052 6933281141859715511 8105079385861004603 1820286133801199842 15027642908502464553 15457515163630177176 11616303396027069606 13184242632254190183 11074478185777922948 9550338798956734796 3840823608442172884 3480688299140341741 4668790814098440415 11430351111922673629 16000233196300530220 5216377147188804438 10292158626335228938 10922635511619742613 14151257162611688225 15809968163774537432 6683919655430145757 17107145071919128559 12081901511089892604 13324843265391768327 7842574228078843963 6982056515400892555 6931361265412126609 666774670593546276 1180298929735481558 2308258714260581583 2743024532518783841 4146031095851774617 3433816743204523079 10120549832878181383 14706504356139211495 3329154379280562459 5275824289745278476 10698575841472500044 16457944479841267524 16903212162986388941 5527248806447968422 5865715784564754894 12335226693049433451 8014557502023778370 6041320346693088990 18386292526932789398 430201407138634506 10625314385211952341 13431984042436162560 12198716863937764337 15252409858856183101 5803598071153869860 18002938717718052625 16537788701333053598 2809807644238661726 6682057187100181765 2589527111309662658 7740277517203027651 14246513218470511255 926939724304277306 3204771172256175890 1436165163683682297 11981834319724173547 10039377574236534282 9272631258110709377 5077202406348218180 15955392383067985737 5631991072694377142 1692745509271371490 7787088807352149260 3606972978290834995 5887801079022644574 7016615994697733963 728062251670261443 1015191205931776765 5476489302778648323 6514715728323734670 11197001852027125962 10864795300606224480 4969028703900507535 6871695821691472742 15089134867648661937 3774598633689398550 3210513151776456079 962472225064804474 14805627602303416173 14583827269119444102 12091530549144322870 10466132085384822152 5131147242797663493 12306271987486691732 12058199577225043090 3847117921077194840 2907683654319160629 6999471693819806188 17867569027229438779 1606242689863997998 17933997136297510380 5046559550451925673 6948747226098229912 5008249439591367714 8395969427331161666 17247300922083734683 4306063358773598113 10023318915328673196 630650565274809535 16999361191700671574 14924122762492614143 12433622427981421482 2198004425571206131 3701960530881459050 2585694402757816916 4470622694518368001 13109541168908157184 1743631519970639304 16718237062289461371 2392853863493155037 2125840887781814107 13380515303012687996 16184815481252489536 12389789916142811383 1161346449760798582 17216646910642872285 15557590174053407104 15788249347094270297 14698677857009055562 15627430247729623733 8267230978373814656 2328379990132621625 6497042458229939737 8724250421249821650 6089359443497713060 10713796371838110643 4940162455641879189 7785047097728403737 7282718685515951217 3063951699539620980 8096857248116634123 12014971559311190941 18076099280104042450 3187144887349923656 2670752870865028519 9333629495659826015 997337428110687961 11177420584324784455 5794193372763719572 10602797138601354990 10185940818341504068 2577426642490969541 11967804619396267993 16501653538312374760 4876632135742566258 2252928940845606975 13337289747190470521 12111523834626318779 1447199398846408737 1136218650907063204 7225101090671196472 5558674210907856126 2789909641746652865 15850714454999099327 14544758552444362715 14794731413719441034 9294562061804543021