// Copyright © 2021 siddharth ravikumar // SPDX-License-Identifier: ISC package challenge import ( "fmt" "ricketyspace.net/cryptopals/lib" ) func C23() { mtA := new(lib.MTRand) rndsA := make([]uint32, 624) genStA := make([]uint32, 624) for i := 0; i < 624; i++ { rndsA[i] = mtA.Extract() genStA[i] = mtA.UnTemper(rndsA[i]) } mtB := new(lib.MTRand) mtB.Seed(1984) mtB.Index = 0 copy(mtB.GenSt[0:624], genStA) // Splice the state. for i := 0; i < 624; i++ { r := mtB.Extract() if r != rndsA[i] { fmt.Printf("Error: random value at position %d does not match!\n", i) break } fmt.Printf("[%d]: Random value matches %v\n", i, r) } } // Output: // // [0]: Random value matches 3499211612 // [1]: Random value matches 581869302 // [2]: Random value matches 3890346734 // [3]: Random value matches 3586334585 // [4]: Random value matches 545404204 // [5]: Random value matches 4161255391 // [6]: Random value matches 3922919429 // [7]: Random value matches 949333985 // [8]: Random value matches 2715962298 // [9]: Random value matches 1323567403 // [10]: Random value matches 418932835 // [11]: Random value matches 2350294565 // [12]: Random value matches 1196140740 // [13]: Random value matches 809094426 // [14]: Random value matches 2348838239 // [15]: Random value matches 4264392720 // [16]: Random value matches 4112460519 // [17]: Random value matches 4279768804 // [18]: Random value matches 4144164697 // [19]: Random value matches 4156218106 // [20]: Random value matches 676943009 // [21]: Random value matches 3117454609 // [22]: Random value matches 4168664243 // [23]: Random value matches 4213834039 // [24]: Random value matches 4111000746 // [25]: Random value matches 471852626 // [26]: Random value matches 2084672536 // [27]: Random value matches 3427838553 // [28]: Random value matches 3437178460 // [29]: Random value matches 1275731771 // [30]: Random value matches 609397212 // [31]: Random value matches 20544909 // [32]: Random value matches 1811450929 // [33]: Random value matches 483031418 // [34]: Random value matches 3933054126 // [35]: Random value matches 2747762695 // [36]: Random value matches 3402504553 // [37]: Random value matches 3772830893 // [38]: Random value matches 4120988587 // [39]: Random value matches 2163214728 // [40]: Random value matches 2816384844 // [41]: Random value matches 3427077306 // [42]: Random value matches 153380495 // [43]: Random value matches 1551745920 // [44]: Random value matches 3646982597 // [45]: Random value matches 910208076 // [46]: Random value matches 4011470445 // [47]: Random value matches 2926416934 // [48]: Random value matches 2915145307 // [49]: Random value matches 1712568902 // [50]: Random value matches 3254469058 // [51]: Random value matches 3181055693 // [52]: Random value matches 3191729660 // [53]: Random value matches 2039073006 // [54]: Random value matches 1684602222 // [55]: Random value matches 1812852786 // [56]: Random value matches 2815256116 // [57]: Random value matches 746745227 // [58]: Random value matches 735241234 // [59]: Random value matches 1296707006 // [60]: Random value matches 3032444839 // [61]: Random value matches 3424291161 // [62]: Random value matches 136721026 // [63]: Random value matches 1359573808 // [64]: Random value matches 1189375152 // [65]: Random value matches 3747053250 // [66]: Random value matches 198304612 // [67]: Random value matches 640439652 // [68]: Random value matches 417177801 // [69]: Random value matches 4269491673 // [70]: Random value matches 3536724425 // [71]: Random value matches 3530047642 // [72]: Random value matches 2984266209 // [73]: Random value matches 537655879 // [74]: Random value matches 1361931891 // [75]: Random value matches 3280281326 // [76]: Random value matches 4081172609 // [77]: Random value matches 2107063880 // [78]: Random value matches 147944788 // [79]: Random value matches 2850164008 // [80]: Random value matches 1884392678 // [81]: Random value matches 540721923 // [82]: Random value matches 1638781099 // [83]: Random value matches 902841100 // [84]: Random value matches 3287869586 // [85]: Random value matches 219972873 // [86]: Random value matches 3415357582 // [87]: Random value matches 156513983 // [88]: Random value matches 802611720 // [89]: Random value matches 1755486969 // [90]: Random value matches 2103522059 // [91]: Random value matches 1967048444 // [92]: Random value matches 1913778154 // [93]: Random value matches 2094092595 // [94]: Random value matches 2775893247 // [95]: Random value matches 3410096536 // [96]: Random value matches 3046698742 // [97]: Random value matches 3955127111 // [98]: Random value matches 3241354600 // [99]: Random value matches 3468319344 // [100]: Random value matches 1185518681 // [101]: Random value matches 3031277329 // [102]: Random value matches 2919300778 // [103]: Random value matches 12105075 // [104]: Random value matches 2813624502 // [105]: Random value matches 3052449900 // [106]: Random value matches 698412071 // [107]: Random value matches 2765791248 // [108]: Random value matches 511091141 // [109]: Random value matches 1958646067 // [110]: Random value matches 2140457296 // [111]: Random value matches 3323948758 // [112]: Random value matches 4122068897 // [113]: Random value matches 2464257528 // [114]: Random value matches 1461945556 // [115]: Random value matches 3765644424 // [116]: Random value matches 2513705832 // [117]: Random value matches 3471087299 // [118]: Random value matches 961264978 // [119]: Random value matches 76338300 // [120]: Random value matches 3226667454 // [121]: Random value matches 3527224675 // [122]: Random value matches 1095625157 // [123]: Random value matches 3525484323 // [124]: Random value matches 2173068963 // [125]: Random value matches 4037587209 // [126]: Random value matches 3002511655 // [127]: Random value matches 1772389185 // [128]: Random value matches 3826400342 // [129]: Random value matches 1817480335 // [130]: Random value matches 4120125281 // [131]: Random value matches 2495189930 // [132]: Random value matches 2350272820 // [133]: Random value matches 678852156 // [134]: Random value matches 595387438 // [135]: Random value matches 3271610651 // [136]: Random value matches 641212874 // [137]: Random value matches 988512770 // [138]: Random value matches 1105989508 // [139]: Random value matches 3477783405 // [140]: Random value matches 3610853094 // [141]: Random value matches 4245667946 // [142]: Random value matches 1092133642 // [143]: Random value matches 1427854500 // [144]: Random value matches 3497326703 // [145]: Random value matches 1287767370 // [146]: Random value matches 1045931779 // [147]: Random value matches 58150106 // [148]: Random value matches 3991156885 // [149]: Random value matches 933029415 // [150]: Random value matches 1503168825 // [151]: Random value matches 3897101788 // [152]: Random value matches 844370145 // [153]: Random value matches 3644141418 // [154]: Random value matches 1078396938 // [155]: Random value matches 4101769245 // [156]: Random value matches 2645891717 // [157]: Random value matches 3345340191 // [158]: Random value matches 2032760103 // [159]: Random value matches 4241106803 // [160]: Random value matches 1510366103 // [161]: Random value matches 290319951 // [162]: Random value matches 3568381791 // [163]: Random value matches 3408475658 // [164]: Random value matches 2513690134 // [165]: Random value matches 2553373352 // [166]: Random value matches 2361044915 // [167]: Random value matches 3147346559 // [168]: Random value matches 3939316793 // [169]: Random value matches 2986002498 // [170]: Random value matches 1227669233 // [171]: Random value matches 2919803768 // [172]: Random value matches 3252150224 // [173]: Random value matches 1685003584 // [174]: Random value matches 3237241796 // [175]: Random value matches 2411870849 // [176]: Random value matches 1634002467 // [177]: Random value matches 893645500 // [178]: Random value matches 2438775379 // [179]: Random value matches 2265043167 // [180]: Random value matches 325791709 // [181]: Random value matches 1736062366 // [182]: Random value matches 231714000 // [183]: Random value matches 1515103006 // [184]: Random value matches 2279758133 // [185]: Random value matches 2546159170 // [186]: Random value matches 3346497776 // [187]: Random value matches 1530490810 // [188]: Random value matches 4011545318 // [189]: Random value matches 4144499009 // [190]: Random value matches 557942923 // [191]: Random value matches 663307952 // [192]: Random value matches 2443079012 // [193]: Random value matches 1696117849 // [194]: Random value matches 2016017442 // [195]: Random value matches 1663423246 // [196]: Random value matches 51119001 // [197]: Random value matches 3122246755 // [198]: Random value matches 1447930741 // [199]: Random value matches 1668894615 // [200]: Random value matches 696567687 // [201]: Random value matches 3983551422 // [202]: Random value matches 3411426125 // [203]: Random value matches 1873110678 // [204]: Random value matches 1336658413 // [205]: Random value matches 3705174600 // [206]: Random value matches 2270032533 // [207]: Random value matches 2664425968 // [208]: Random value matches 711455903 // [209]: Random value matches 513451233 // [210]: Random value matches 2585492744 // [211]: Random value matches 2027039028 // [212]: Random value matches 1129453058 // [213]: Random value matches 1461232481 // [214]: Random value matches 2809248324 // [215]: Random value matches 2275654012 // [216]: Random value matches 2960153730 // [217]: Random value matches 3075629128 // [218]: Random value matches 3213286615 // [219]: Random value matches 4245057188 // [220]: Random value matches 1935061435 // [221]: Random value matches 3094495853 // [222]: Random value matches 360010077 // [223]: Random value matches 3919490483 // [224]: Random value matches 983448591 // [225]: Random value matches 2171099548 // [226]: Random value matches 3922754098 // [227]: Random value matches 2397746050 // [228]: Random value matches 654458600 // [229]: Random value matches 2161184684 // [230]: Random value matches 3546856898 // [231]: Random value matches 1986311591 // [232]: Random value matches 2312163142 // [233]: Random value matches 2347594600 // [234]: Random value matches 4278366025 // [235]: Random value matches 1922360368 // [236]: Random value matches 335761339 // [237]: Random value matches 3669839044 // [238]: Random value matches 1901288696 // [239]: Random value matches 2595154464 // [240]: Random value matches 458070173 // [241]: Random value matches 2141230976 // [242]: Random value matches 4131320786 // [243]: Random value matches 4208748424 // [244]: Random value matches 19903848 // [245]: Random value matches 147391738 // [246]: Random value matches 3328215103 // [247]: Random value matches 4196191786 // [248]: Random value matches 3510290616 // [249]: Random value matches 1559873971 // [250]: Random value matches 3731015357 // [251]: Random value matches 2918514861 // [252]: Random value matches 362649214 // [253]: Random value matches 1487061100 // [254]: Random value matches 1717053387 // [255]: Random value matches 3675955720 // [256]: Random value matches 1116134897 // [257]: Random value matches 193529268 // [258]: Random value matches 3436267940 // [259]: Random value matches 2835191639 // [260]: Random value matches 1852908272 // [261]: Random value matches 3220971953 // [262]: Random value matches 3911201640 // [263]: Random value matches 571213604 // [264]: Random value matches 781027019 // [265]: Random value matches 4219206494 // [266]: Random value matches 1133024903 // [267]: Random value matches 409547355 // [268]: Random value matches 625085180 // [269]: Random value matches 1214072539 // [270]: Random value matches 584409985 // [271]: Random value matches 3445042528 // [272]: Random value matches 3733581611 // [273]: Random value matches 333104904 // [274]: Random value matches 2489812253 // [275]: Random value matches 2694595213 // [276]: Random value matches 2361631596 // [277]: Random value matches 34763086 // [278]: Random value matches 622576118 // [279]: Random value matches 2921810672 // [280]: Random value matches 3663740744 // [281]: Random value matches 2293225236 // [282]: Random value matches 2671706445 // [283]: Random value matches 1884059696 // [284]: Random value matches 1507329019 // [285]: Random value matches 857065948 // [286]: Random value matches 2204390003 // [287]: Random value matches 592711182 // [288]: Random value matches 1725752375 // [289]: Random value matches 1642107460 // [290]: Random value matches 326274448 // [291]: Random value matches 3274574484 // [292]: Random value matches 1030432041 // [293]: Random value matches 173822100 // [294]: Random value matches 529650788 // [295]: Random value matches 1086437636 // [296]: Random value matches 789877945 // [297]: Random value matches 2167974914 // [298]: Random value matches 1030588245 // [299]: Random value matches 3533061365 // [300]: Random value matches 1792148406 // [301]: Random value matches 4216468704 // [302]: Random value matches 213264131 // [303]: Random value matches 3536714075 // [304]: Random value matches 3877136173 // [305]: Random value matches 1296338417 // [306]: Random value matches 4057830103 // [307]: Random value matches 205919137 // [308]: Random value matches 2108245233 // [309]: Random value matches 1064497347 // [310]: Random value matches 2101324080 // [311]: Random value matches 2336703164 // [312]: Random value matches 1450493809 // [313]: Random value matches 3812754708 // [314]: Random value matches 3865701845 // [315]: Random value matches 1476779561 // [316]: Random value matches 1585902852 // [317]: Random value matches 142887412 // [318]: Random value matches 477612192 // [319]: Random value matches 699530444 // [320]: Random value matches 3351157089 // [321]: Random value matches 3768249319 // [322]: Random value matches 1673915577 // [323]: Random value matches 903239649 // [324]: Random value matches 1038056164 // [325]: Random value matches 1171465372 // [326]: Random value matches 1734789440 // [327]: Random value matches 2115022236 // [328]: Random value matches 414269055 // [329]: Random value matches 959581346 // [330]: Random value matches 566820984 // [331]: Random value matches 2105828892 // [332]: Random value matches 4046076449 // [333]: Random value matches 4101450561 // [334]: Random value matches 4106566571 // [335]: Random value matches 2800184123 // [336]: Random value matches 2470502098 // [337]: Random value matches 3253453343 // [338]: Random value matches 256751188 // [339]: Random value matches 1869365987 // [340]: Random value matches 1008372035 // [341]: Random value matches 2374606708 // [342]: Random value matches 1516804538 // [343]: Random value matches 228288551 // [344]: Random value matches 3527001547 // [345]: Random value matches 1385173098 // [346]: Random value matches 66157275 // [347]: Random value matches 1739381798 // [348]: Random value matches 184785808 // [349]: Random value matches 3901692666 // [350]: Random value matches 725806641 // [351]: Random value matches 3475217997 // [352]: Random value matches 2787929747 // [353]: Random value matches 1109372433 // [354]: Random value matches 3142723729 // [355]: Random value matches 557686578 // [356]: Random value matches 2782047723 // [357]: Random value matches 2118822689 // [358]: Random value matches 1936702581 // [359]: Random value matches 1625646963 // [360]: Random value matches 2349385293 // [361]: Random value matches 3085804937 // [362]: Random value matches 1272688179 // [363]: Random value matches 1236112995 // [364]: Random value matches 3198431244 // [365]: Random value matches 2677635414 // [366]: Random value matches 811555596 // [367]: Random value matches 3486972196 // [368]: Random value matches 2949678043 // [369]: Random value matches 1342211552 // [370]: Random value matches 788174404 // [371]: Random value matches 1656614077 // [372]: Random value matches 1582629285 // [373]: Random value matches 1477167035 // [374]: Random value matches 2687011245 // [375]: Random value matches 3503701453 // [376]: Random value matches 3351051324 // [377]: Random value matches 2874557775 // [378]: Random value matches 348432514 // [379]: Random value matches 1629591495 // [380]: Random value matches 3991682351 // [381]: Random value matches 1969229192 // [382]: Random value matches 3331660584 // [383]: Random value matches 1304012077 // [384]: Random value matches 2090754125 // [385]: Random value matches 3910846836 // [386]: Random value matches 1871998370 // [387]: Random value matches 2098597104 // [388]: Random value matches 1918921592 // [389]: Random value matches 3246092887 // [390]: Random value matches 1315760974 // [391]: Random value matches 464122393 // [392]: Random value matches 2184028058 // [393]: Random value matches 1690455542 // [394]: Random value matches 2193747147 // [395]: Random value matches 3737423698 // [396]: Random value matches 3511684278 // [397]: Random value matches 1549884962 // [398]: Random value matches 3413774919 // [399]: Random value matches 3938991454 // [400]: Random value matches 2767325310 // [401]: Random value matches 2335626851 // [402]: Random value matches 1626114941 // [403]: Random value matches 601913200 // [404]: Random value matches 3485711542 // [405]: Random value matches 858447440 // [406]: Random value matches 2288468476 // [407]: Random value matches 4075602213 // [408]: Random value matches 1506361431 // [409]: Random value matches 4252489875 // [410]: Random value matches 4032981007 // [411]: Random value matches 1031118352 // [412]: Random value matches 3762145731 // [413]: Random value matches 70955369 // [414]: Random value matches 2362903502 // [415]: Random value matches 1669089455 // [416]: Random value matches 2673510137 // [417]: Random value matches 3348740333 // [418]: Random value matches 2521337794 // [419]: Random value matches 2047144929 // [420]: Random value matches 892246357 // [421]: Random value matches 2319875070 // [422]: Random value matches 1293843163 // [423]: Random value matches 79245769 // [424]: Random value matches 2022600352 // [425]: Random value matches 3866257397 // [426]: Random value matches 989939126 // [427]: Random value matches 835351312 // [428]: Random value matches 3626278636 // [429]: Random value matches 3805332945 // [430]: Random value matches 836506264 // [431]: Random value matches 1895040349 // [432]: Random value matches 970326679 // [433]: Random value matches 634920763 // [434]: Random value matches 733185481 // [435]: Random value matches 1028655248 // [436]: Random value matches 977810701 // [437]: Random value matches 3434484235 // [438]: Random value matches 1871311609 // [439]: Random value matches 2031584214 // [440]: Random value matches 1336174158 // [441]: Random value matches 385787519 // [442]: Random value matches 3965885375 // [443]: Random value matches 2768323462 // [444]: Random value matches 1847726660 // [445]: Random value matches 2718987737 // [446]: Random value matches 793780050 // [447]: Random value matches 2509902580 // [448]: Random value matches 3886434164 // [449]: Random value matches 3120956802 // [450]: Random value matches 4207987247 // [451]: Random value matches 1523159183 // [452]: Random value matches 1884932179 // [453]: Random value matches 2922324286 // [454]: Random value matches 477253416 // [455]: Random value matches 3037922812 // [456]: Random value matches 1108379444 // [457]: Random value matches 697195677 // [458]: Random value matches 1755438379 // [459]: Random value matches 574393398 // [460]: Random value matches 2555059183 // [461]: Random value matches 1930828628 // [462]: Random value matches 1126190880 // [463]: Random value matches 180621093 // [464]: Random value matches 2589191337 // [465]: Random value matches 3424652760 // [466]: Random value matches 3054648512 // [467]: Random value matches 719646637 // [468]: Random value matches 952394946 // [469]: Random value matches 3570038180 // [470]: Random value matches 504304985 // [471]: Random value matches 1395707758 // [472]: Random value matches 1274213163 // [473]: Random value matches 2816553213 // [474]: Random value matches 1369142370 // [475]: Random value matches 1804702100 // [476]: Random value matches 1821782344 // [477]: Random value matches 3358274235 // [478]: Random value matches 2181234724 // [479]: Random value matches 486158240 // [480]: Random value matches 367287522 // [481]: Random value matches 4267199121 // [482]: Random value matches 1127352639 // [483]: Random value matches 779850007 // [484]: Random value matches 3440331597 // [485]: Random value matches 3276765484 // [486]: Random value matches 125500149 // [487]: Random value matches 1142120513 // [488]: Random value matches 3989398167 // [489]: Random value matches 1048565860 // [490]: Random value matches 3136747194 // [491]: Random value matches 432668526 // [492]: Random value matches 2098559576 // [493]: Random value matches 1478877150 // [494]: Random value matches 2484746208 // [495]: Random value matches 1209580219 // [496]: Random value matches 1019125185 // [497]: Random value matches 4160278734 // [498]: Random value matches 1970740713 // [499]: Random value matches 918146921 // [500]: Random value matches 4136433784 // [501]: Random value matches 2602441845 // [502]: Random value matches 2348512686 // [503]: Random value matches 973030509 // [504]: Random value matches 2238261365 // [505]: Random value matches 815637919 // [506]: Random value matches 994690313 // [507]: Random value matches 1724736366 // [508]: Random value matches 2099799816 // [509]: Random value matches 1775069742 // [510]: Random value matches 2680317667 // [511]: Random value matches 730798472 // [512]: Random value matches 2916864943 // [513]: Random value matches 1284417767 // [514]: Random value matches 1698724919 // [515]: Random value matches 2733611686 // [516]: Random value matches 1578128411 // [517]: Random value matches 651006053 // [518]: Random value matches 4243350375 // [519]: Random value matches 3303874296 // [520]: Random value matches 162087183 // [521]: Random value matches 3796616231 // [522]: Random value matches 3801767645 // [523]: Random value matches 4119825424 // [524]: Random value matches 3922537059 // [525]: Random value matches 77594039 // [526]: Random value matches 3419583692 // [527]: Random value matches 2503306160 // [528]: Random value matches 423966005 // [529]: Random value matches 3293613218 // [530]: Random value matches 1124728190 // [531]: Random value matches 1407880681 // [532]: Random value matches 1440346680 // [533]: Random value matches 554334954 // [534]: Random value matches 2919409323 // [535]: Random value matches 1253962019 // [536]: Random value matches 586491243 // [537]: Random value matches 3638308238 // [538]: Random value matches 3097648541 // [539]: Random value matches 991125519 // [540]: Random value matches 458538714 // [541]: Random value matches 2155963569 // [542]: Random value matches 2807866455 // [543]: Random value matches 6862945 // [544]: Random value matches 2122460897 // [545]: Random value matches 53853750 // [546]: Random value matches 3346001678 // [547]: Random value matches 1230879976 // [548]: Random value matches 3071060893 // [549]: Random value matches 423909157 // [550]: Random value matches 3881450262 // [551]: Random value matches 1652511030 // [552]: Random value matches 3826483009 // [553]: Random value matches 1526211009 // [554]: Random value matches 1435219366 // [555]: Random value matches 3092251623 // [556]: Random value matches 3001090498 // [557]: Random value matches 281084412 // [558]: Random value matches 849586749 // [559]: Random value matches 2207008400 // [560]: Random value matches 131172352 // [561]: Random value matches 1820973075 // [562]: Random value matches 3195774605 // [563]: Random value matches 2962673849 // [564]: Random value matches 2147580010 // [565]: Random value matches 1090677336 // [566]: Random value matches 2061249893 // [567]: Random value matches 1724513375 // [568]: Random value matches 3885752424 // [569]: Random value matches 1135918139 // [570]: Random value matches 2619357288 // [571]: Random value matches 4012575714 // [572]: Random value matches 2652856935 // [573]: Random value matches 2029480458 // [574]: Random value matches 3691276589 // [575]: Random value matches 2623865075 // [576]: Random value matches 3459550738 // [577]: Random value matches 2097670126 // [578]: Random value matches 2477000057 // [579]: Random value matches 2209844713 // [580]: Random value matches 785646024 // [581]: Random value matches 1052349661 // [582]: Random value matches 1030500157 // [583]: Random value matches 1430246618 // [584]: Random value matches 3807539761 // [585]: Random value matches 2157629976 // [586]: Random value matches 123154542 // [587]: Random value matches 2560049331 // [588]: Random value matches 2104110449 // [589]: Random value matches 1332109867 // [590]: Random value matches 721241591 // [591]: Random value matches 4136042859 // [592]: Random value matches 4203401395 // [593]: Random value matches 998151922 // [594]: Random value matches 3060999432 // [595]: Random value matches 3207929139 // [596]: Random value matches 2149509272 // [597]: Random value matches 1385268511 // [598]: Random value matches 2023309182 // [599]: Random value matches 1366796638 // [600]: Random value matches 256061060 // [601]: Random value matches 4090836236 // [602]: Random value matches 2929047008 // [603]: Random value matches 2296609403 // [604]: Random value matches 182240337 // [605]: Random value matches 3744374619 // [606]: Random value matches 306855912 // [607]: Random value matches 4014087816 // [608]: Random value matches 2240468995 // [609]: Random value matches 2865233169 // [610]: Random value matches 415452309 // [611]: Random value matches 1244206523 // [612]: Random value matches 3513921306 // [613]: Random value matches 281425419 // [614]: Random value matches 3511338031 // [615]: Random value matches 995954022 // [616]: Random value matches 3102854413 // [617]: Random value matches 3026765331 // [618]: Random value matches 643667197 // [619]: Random value matches 837979907 // [620]: Random value matches 2832983005 // [621]: Random value matches 1813414171 // [622]: Random value matches 2227348307 // [623]: Random value matches 1848438282