2018年10月20日土曜日

181020

Ruby


Theta series of D_k lattice

k <= 96 のとき、出力してみた。

def s(k, n)
  s = 0
  (1..n).each{|i| s += i if n % i == 0 && i % k == 0}
  s
end

def A(ary, n)
  a_ary = [1]
  a = [0] + (1..n).map{|i| ary.inject(0){|s, j| s + j[1] * s(j[0], i)}}
  (1..n).each{|i| a_ary << (1..i).inject(0){|s, j| s - a[j] * a_ary[-j]} / i}
  a_ary
end

def B(k, n)
  a = A([[2, 5 * k], [1, -2 * k], [4, -2 * k]], 2 * n)
  (0..n).map{|i| a[2 * i]}
end

n = 20
(1..96).each{|i| p [i, B(i, n)]}

出力結果
[1, [1, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0]]
[2, [1, 4, 4, 0, 4, 8, 0, 0, 4, 4, 8, 0, 0, 8, 0, 0, 4, 8, 4, 0, 8]]
[3, [1, 12, 6, 24, 12, 24, 8, 48, 6, 36, 24, 24, 24, 72, 0, 48, 12, 48, 30, 72, 24]]
[4, [1, 24, 24, 96, 24, 144, 96, 192, 24, 312, 144, 288, 96, 336, 192, 576, 24, 432, 312, 480, 144]]
[5, [1, 40, 90, 240, 200, 560, 400, 800, 730, 1240, 752, 1840, 1200, 2000, 1600, 2720, 1480, 3680, 2250, 3280, 2800]]
[6, [1, 60, 252, 544, 1020, 1560, 2080, 3264, 4092, 4380, 6552, 8160, 8224, 10200, 12480, 14144, 16380, 17400, 18396, 24480, 26520]]
[7, [1, 84, 574, 1288, 3444, 4424, 9240, 11088, 18494, 19740, 34440, 31304, 52808, 52248, 74048, 71120, 110964, 94864, 145222, 132888, 181384]]
[8, [1, 112, 1136, 3136, 9328, 14112, 31808, 38528, 74864, 84784, 143136, 149184, 261184, 246176, 390784, 395136, 599152, 550368, 859952, 768320, 1175328]]
[9, [1, 144, 2034, 7392, 22608, 44640, 93984, 141120, 262386, 343536, 557280, 703584, 1068384, 1234080, 1851264, 2057280, 2884176, 3231936, 4428242, 4639392, 6455520]]
[10, [1, 180, 3380, 16320, 52020, 129064, 262080, 489600, 840500, 1330420, 2050344, 2986560, 4194240, 5878440, 7862400, 10216320, 13415220, 17163880, 21250420, 26585280, 32826664]]
[11, [1, 220, 5302, 33528, 116380, 339064, 719400, 1538416, 2624182, 4763220, 7217144, 11676280, 16317048, 25022184, 32503680, 47430768, 59759260, 82927856, 101189550, 137904360, 161928184]]
[12, [1, 264, 7944, 64416, 253704, 825264, 1938336, 4437312, 8118024, 15653352, 24832944, 42517728, 61903776, 98021616, 133522752, 201364416, 259776264, 374842512, 471023592, 653690400, 793078704]]
[13, [1, 312, 11466, 116688, 535704, 1899664, 5043376, 12066912, 24443978, 48210760, 83323344, 145532816, 227110416, 363737712, 531517376, 800145632, 1104376728, 1594656544, 2114015514, 2931991920, 3779027408]]
[14, [1, 364, 16044, 200928, 1089452, 4196920, 12547808, 31553344, 70439852, 142487436, 268594872, 476105504, 800698080, 1296257144, 2022013760, 3056208064, 4507001772, 6481076056, 9123064524, 12637846368, 17190762680]]
[15, [1, 420, 21870, 331240, 2128260, 8972712, 29822520, 80027280, 193511790, 409172940, 825736296, 1509537960, 2698852520, 4472616120, 7347537600, 11335886864, 17520853380, 25553816400, 37658603350, 52706867640, 74655559272]]
[16, [1, 480, 29152, 525952, 3994080, 18626112, 67978880, 197120256, 509145568, 1143441760, 2428524096, 4658843520, 8705492608, 15000919872, 25593401600, 40864033536, 65187410400, 98098623936, 148724365664, 213678303360, 310833534528]]
[17, [1, 544, 38114, 808384, 7213984, 37569728, 149405248, 470966912, 1291650786, 3101265120, 6883061184, 13967503552, 27036220096, 48877735232, 85898222336, 142979339392, 233808578464, 365627715968, 565633846434, 841764350272, 1246798917056]]
[18, [1, 612, 48996, 1207680, 12573540, 73617480, 318102912, 1090632960, 3176573796, 8148505828, 18918517320, 40578145920, 81375600000, 154398101832, 279331331328, 484986858240, 812932819812, 1320330798792, 2085523894756, 3214498469760, 4845373383240]]
[19, [1, 684, 62054, 1759704, 21210156, 140116184, 658369608, 2449182384, 7597766246, 20748447108, 50601708504, 114223115480, 238352317656, 472600643976, 883678139136, 1594639240368, 2749536787500, 4620722631088, 7482364853310, 11894205734280, 18321074279384]]
[20, [1, 760, 77560, 2508000, 34729720, 259114704, 1327461600, 5341699520, 17701924600, 51294999960, 131880275664, 312126610080, 680432137440, 1404010658960, 2724593155520, 5089580732736, 9062110326520, 15699349246320, 26159307313560, 42719885410400, 67517852274384]]
[21, [1, 840, 95802, 3504816, 55350120, 465944304, 2610853840, 11337146784, 40208417466, 123411903160, 335056780464, 830096613360, 1893781702512, 4058779021584, 8190877926720, 15805879161632, 29122237029480, 51905458442208, 89163973663338, 149313692762640, 242598110651568]]
[22, [1, 924, 117084, 4812192, 86075484, 815677016, 5012882336, 23460347328, 89096422492, 289559673084, 830202403800, 2153312518240, 5140361517984, 11444537517336, 24015334687168, 47873378766400, 91281903219804, 167369436673208, 296418599695548, 509007239863584, 850134257934808]]
[23, [1, 1012, 141726, 6503112, 130905236, 1392036360, 9401213016, 47412641232, 192747766686, 663612939132, 2007831887432, 5456890474248, 13617909938952, 31527898462552, 68719323996224, 141662701280848, 279248601010324, 527242669347856, 961796734667878, 1695182770403416, 2907618520941640]]
[24, [1, 1104, 170064, 8662720, 195082320, 2319457632, 17231109824, 93703589760, 407488018512, 1487286966928, 4744779429216, 13523760003648, 35250721087168, 84944161233120, 192127452262272, 409984511707776, 834658207381584, 1624411151609760, 3049176879087248, 5521413521657280, 9716572902143328]]
[25, [1, 1200, 202450, 11389600, 285385200, 3779134240, 30885301600, 181284196800, 842726826450, 3262594952400, 10968671291040, 32802221530400, 89267475949600, 223991253535200, 525491835433600, 1161295395893440, 2440508069871600, 4898380398568000, 9456583413620850, 17601674014456800, 31764761129879200]]
[26, [1, 1300, 239252, 14797120, 410468500, 6030043240, 54177864000, 343594659200, 1706685733012, 7010460268500, 24832297608040, 77924078814400, 221394909419840, 578472382307304, 1407681394953600, 3221568346322560, 6988918697572500, 14466438251512104, 28723680851525972, 54955933066382400, 101702425588365160]]
[27, [1, 1404, 280854, 19014840, 581257404, 9436118328, 93086496360, 638406025200, 3387901252374, 14765641285044, 55108831380408, 181434042582840, 538265644820280, 1464212332875816, 3696677780664960, 8759016189382896, 19620550996489404, 41872709357187696, 85529698383793614, 168166018677618216, 319216925216931768]]
[28, [1, 1512, 327656, 24189984, 811401192, 14500933104, 156797510688, 1163495873088, 6597606440936, 30505974273096, 119983597365744, 414352982942304, 1283861585339424, 3635198568784944, 9523977599887936, 23358459198626496, 54039921152557032, 118876818364991568, 249860594326120008, 504728808620994720, 982979367330327024]]
[29, [1, 1624, 380074, 30488976, 1117791544, 21911472464, 259172461296, 2081117152992, 12613606876714, 61865177248552, 256462892399504, 928859670458448, 3006249397711056, 8858986222461872, 24088488255932096, 61146089973555552, 146117613009432632, 331281589561600160, 716578329768711354, 1486998916193387184, 2971591747809448848]]
[30, [1, 1740, 438540, 38099040, 1521151500, 32592806520, 420775407200, 3655476494400, 23690038522380, 123233778584940, 538518903906552, 2045337982427040, 6914885182908000, 21207036616238520, 59847918853661760, 157231420280219584, 388094025605841420, 906869192637613080, 2018715060481365420, 4303383637492581600, 8824294692839138040]]
[31, [1, 1860, 503502, 47229864, 2046701220, 47775740520, 671636175480, 6309132101904, 43733123309262, 241275541236780, 1111479953165352, 4426891212365160, 15633379938039144, 49899492947343864, 146147632445771200, 397406328481552528, 1013148957319630500, 2440161908107807952, 5589676687772302966, 12241554552984167160, 25755553416637335080]]
[32, [1, 1984, 575424, 58115328, 2724906944, 69079796864, 1054968628480, 10706472186368, 79395777333184, 464573878394560, 2256126097001600, 9423431444080384, 34759556728866048, 115474354635222656, 350982387781513728, 987881573708613120, 2601123015997179840, 6457558989366956928, 15221194949728018112, 34248312026351479040, 73928444877139381376]]
[33, [1, 2112, 654786, 71015296, 3592319808, 98614192512, 1632114867328, 17875388306688, 141820480610754, 880219339775424, 4506220683398016, 19739221443625344, 76047426405791104, 262953752848837248, 829405814646351360, 2416450963949279488, 6571105534323612480, 16815939617686463232, 40785056696578571586, 94285427570798699136, 208805653293610437504]]
[34, [1, 2244, 742084, 86217472, 4692511428, 139099807880, 2489047659264, 29382088665600, 249369222884036, 1641869055038916, 8860642360669320, 40707711590868224, 163797472570290944, 589511537253470856, 1929572788503833088, 5819255124075374080, 16342941364998777540, 43111163441224005000, 107589173820434997188, 255543757747733874432, 580614999165620921480]]
[35, [1, 2380, 837830, 104039320, 6077113420, 194015502744, 3744835385480, 47578912132400, 431833448394950, 3016461775970020, 17160396820563864, 82689238761879960, 347497817081977240, 1301746850099643080, 4421575623848670720, 13803058326450694448, 40035461652998329420, 108862061348826948400, 279550204291077467230, 682187522811751672520, 1590223759684822652824]]
[36, [1, 2520, 942552, 124830048, 7806968280, 267772521744, 5562557800800, 75951250082496, 736831099167192, 5460799823164920, 32748641010875664, 165514090360142880, 726465611491844448, 2832525877217028048, 9984123911261833920, 32262229857439895616, 96644313054689681880, 270878531986080745776, 715761543475698773496, 1794541390237379155680, 4291860930734291909904]]
[37, [1, 2664, 1056794, 148972656, 9953399304, 365921147824, 8163258314256, 119597548195872, 1239391811991194, 9745233570636952, 61609295691064944, 326597524550490288, 1497196642542832176, 6075984718042868304, 22225028881973326912, 74337473128386333600, 229988493902004444936, 664457654598844109152, 1806655171676194402314, 4653698168319059461968, 11419085895334809136752]]
[38, [1, 2812, 1181116, 176886048, 12599607484, 495394207384, 11843630888736, 185886180236992, 2056130097966268, 17150568272891100, 114303284464647704, 635553953336625376, 3043086948436643616, 12853691613921890904, 48791664731735114432, 168923174867580925248, 539765733887226387644, 1607416101409060228472, 4497294755894357458332, 11901773369017113604768, 29963055119264915340312]]
[39, [1, 2964, 1316094, 209027208, 15842203572, 664792507080, 16998268681368, 285345150337104, 3365941445206782, 29777240693878236, 209215435001112072, 1220155819685626824, 6102142531936618440, 26826945551844218520, 105677341468592172864, 378706598865712166608, 1249787083449735359412, 3836378587257542276496, 11044821525347480286598, 30030157748537873897880, 77566119196460997440520]]
[40, [1, 3120, 1462320, 245893440, 19792883760, 884717790112, 24147448985920, 432855539095680, 5439867081224240, 51024388607161840, 377925692648758176, 2311828718036596160, 12076325113647462720, 55258802243177832480, 225894020902792394880, 837922349252103601536, 2855961811305420582960, 9036524878000691192160, 26770192778468917234160, 74780870224218969913920, 198172571789841855437728]]
[41, [1, 3280, 1620402, 288024672, 24580257680, 1168159340512, 33971596798880, 649237878131776, 8683708343211698, 86322811423907760, 673977940881914976, 4324346553745956320, 23594791016741569248, 112373740165845667616, 476716600185913087360, 1830368645195764804928, 6443191629889162086800, 21014288031859432240064, 64058450518363788497682, 183847011771941652626720, 499858750759811796384864]]
[42, [1, 3444, 1790964, 336005824, 30351837684, 1530940938408, 47353759443648, 963342807437952, 13698191148446196, 144242851393605300, 1187013596538690984, 7988222608927186752, 45526484181023926976, 225683472479132529960, 993544787069503165056, 3948627822151732074880, 14355605005513083277812, 48261418497124590978024, 151381566173619091602740, 446369593591372088412096, 1245153274370742690277800]]
[43, [1, 3612, 1974646, 390469240, 37276198620, 1992235478520, 65431639315112, 1414784111195760, 21363058099953526, 238149668458074388, 2065271888000259960, 14577365408975111160, 86778165276794876920, 447752053048303878504, 2045589436006114852224, 8415088149377413297520, 31597043700929688644316, 109493876778527685657584, 353405938952937766733806, 1070623418671287055194984, 3064098127861622944029560]]
[44, [1, 3784, 2172104, 452097184, 45545317576, 2575155209264, 89660973247648, 2057484301193024, 32953489081394376, 388649134382308008, 3550983885332760624, 26286715322506463200, 163448683981013707936, 877815757629273245552, 4161780665859803103040, 17721547148427132981696, 68723006258858639123656, 245476497087950706480144, 815277009565266028320936, 2537517139640843807601440, 7450972920603097999394864]]
[45, [1, 3960, 2384010, 521624400, 55377103320, 3307426231824, 121892317700400, 2964241181293920, 50299827862307850, 627163962734020360, 6035410491750694224, 46854014968659908880, 304297378385575293840, 1701047831240174822640, 8369306397107313831360, 36888834239882740396512, 147743644093286996957400, 543977021439433920875040, 1859033820761919044705370, 5944722654363693006155760, 17909106681549810556695888]]
[46, [1, 4140, 2611052, 599840736, 67018125420, 4222156618424, 164463601475040, 4232569247463744, 76004850661311596, 1001109838673418060, 10143480948171060024, 82571796820419222560, 560115286465036588512, 3259052873842515520248, 16640395332885527444800, 75919437264083991860928, 314037149331078085727340, 1191836115047264823513304, 4191165803741335074725004, 13769539726145045949802080, 42559856748226014373309752]]
[47, [1, 4324, 2853934, 687593832, 80746553284, 5358708267816, 220311144761016, 5992123438556048, 113736905985171502, 1581315551638626444, 16862566236863499240, 143916122317077701160, 1019604050911451615784, 6175012304042413993784, 32719823078748978144448, 154520158805605372057872, 660128103579641521215428, 2582424058096501396180560, 9344529589056656406012310, 31541489566055534873934904, 100023323889942538865069544]]
[48, [1, 4512, 3113376, 785791872, 96875315616, 6763683414720, 293102217821056, 8414075863671552, 168622365198254496, 2472562531531980832, 27736395024393085632, 248139579890464622208, 1835986185002939939712, 11573413786349169929664, 63640852572427508785920, 311097167722066085728512, 1372634797639492206592416, 5535010786414722734528832, 20609142765989970203160608, 71470177750397835003888000, 232531699106546664748589760]]
[49, [1, 4704, 3390114, 895406400, 115755491040, 8492037549632, 387392627620544, 11722890040874880, 247767164972339362, 3828424156205839008, 45154189480417663296, 423356084326686995008, 3271121112943667769408, 21461709941573992929216, 122472660390060456632576, 619706321449560969104768, 2823979399419216267131616, 11737878719907676947436672, 44972048668391014172152290, 160231480848980530771422144, 534863840491664871588174144]]
[50, [1, 4900, 3684900, 1017475200, 137779940900, 10608331387080, 508813279363200, 16211023387641600, 360945048625380900, 5871984218650395300, 72777694962263662280, 714910303873915900800, 5767878361495107715200, 39386275590645554758600, 233247498388449049388800, 1221661417281854603505920, 5749681423147539513982500, 24634122723827333941603400, 97118478236074066740808100, 355506356928628484760899200, 1217533065913380509499410120]]
[51, [1, 5100, 3998502, 1153105240, 163387195500, 13188135445080, 664290165581000, 22257188865735600, 521499719190179622, 8924532432265106500, 116166126969336296280, 1195211729173952947800, 10067656683832769582680, 71548211019296692710408, 439706216301392062982400, 2383873245883380529354160, 11587610945394460751112300, 51174435909416999296832688, 207601157641922638919028862, 780756675904183361598318600, 2743386985289268437091191640]]
[52, [1, 5304, 4331704, 1303475680, 193065605304, 16319601767248, 862302791665120, 30348922637092800, 747519847870453944, 13445004171207696984, 183682764146804624208, 1978773353590745048480, 17399315857793454638560, 128682265229505007371024, 820665015623406722525120, 4605445416232558058471232, 23120669480397861067643064, 105250933550818269152815344, 439354340397428980578162264, 1697623660229051142995133792, 6119991092311362063535770448]]
[53, [1, 5512, 4685306, 1469840944, 227357768872, 20105218332784, 1113186657215568, 41110338355629728, 1063360138194067066, 20083790276552219256, 287799059912477065264, 3244997658407131836784, 29779980555917284035824, 229189666553906219004816, 1516750028313527617393472, 8810527185645786672919584, 45682348251115860769246632, 214358532054417196218274528, 920751363346351916460411306, 3655186949954152577015389328, 13519388354490357354705463344]]
[54, [1, 5724, 5060124, 1653533856, 266865249564, 24663762759384, 1429486081204896, 55336102527840192, 1501598892693637404, 29755637702370479292, 446955414869923659864, 5272393666964582906208, 50489456563598746221216, 404311428686749230067608, 2776459590758215646884800, 16693853037913375742127168, 89396383038780568363350300, 432393630325638785907707448, 1911146097905933862282977916, 7794747225818563563414593568, 29579285203322402284706215512]]
[55, [1, 5940, 5456990, 1855968840, 312253593300, 30132473011080, 1826364389751000, 74032841664738000, 2105543300639336030, 43737750135642670140, 688195594046696734152, 8489517769015803951240, 84811624067056462705800, 706590868816622375265240, 5034775198875616617811520, 31333988515007080222859088, 173298206786341652607451860, 864012948800575256413624080, 3929598325506881234808205990, 16466354339756050803371272920, 64109357130521155020098917320]]
[56, [1, 6160, 5876752, 2078645184, 364257659920, 36669453978080, 2322079282514880, 98469393393807744, 2932418577697852432, 63800948576107961680, 1050868581030513385952, 13550182071759176612160, 141182763248517178313664, 1223589621872356530444128, 9046075416880018007413120, 58271566264611831740391552, 332848929066793331854920720, 1710565072768929229907933984, 8005362094437762904300667216, 34464473802075833544381071040, 137668346966590186727534387680]]
[57, [1, 6384, 6320274, 2323150368, 423687280944, 44456339999904, 2938532061809120, 130237543225530048, 4057406846819753874, 92383948394183579280, 1591793005267361571360, 21443600024000568917664, 232954835543722533379488, 2099919421780534661588064, 16106820788602541549332608, 107387787420428901442804160, 633509479514196412755779376, 3355912552481045511232095552, 16160895782646625961453283762, 71482159955379730713525997152, 292953542256036949389435183648]]
[58, [1, 6612, 6788436, 2591163456, 491433256788, 53701234657512, 3701900352042048, 171325149463832448, 5578737060232585044, 132823551358622863764, 2392412181923632773096, 33654448998698003603904, 381080391903994332738624, 3572322202078652171746920, 28425319872869374315300736, 196147835799827523972222080, 1195042951785770951917403988, 6525355861976023460094996136, 32334938774470713027905107220, 146942002010316858547019602752, 617853957203328793104744561640]]
[59, [1, 6844, 7282134, 2884458552, 568473706748, 64641950465720, 4643364960947944, 224203854285962480, 7624069243544547286, 189656957699432622196, 3568641074532764277560, 52393730964407331348664, 618167637340132243742904, 6025050643950303120433832, 49730370772493425970141312, 355151738574523821887515120, 2234641306116908330976115964, 12577341420988751480449504624, 64131141477078715484983047694, 299422558321967347701370220712, 1291704913864065947120707266360]]
[60, [1, 7080, 7802280, 3204908320, 655880785320, 77549572455024, 5799942643182880, 291933913069147200, 10358465938143743400, 269016616226988666120, 5284331123318106179184, 80929339597780590507360, 994556649994771947646240, 10076571117037523947231920, 86264552405836544316056640, 637552356335537628780263616, 4142796130107239768257105320, 24034274000848242186034464720, 126102043534620822017795544840, 604893706647553040802757971360, 2677298764084608964742473467504]]
[61, [1, 7320, 8349802, 3554487568, 754827778680, 92732371043024, 7215437726521200, 378289050704503776, 13994302109796570602, 379143217943843430120, 7769568533355337395984, 124056091494898985558480, 1587354644056403561952848, 16714206938795798718641712, 148391735361843229104391360, 1134899513572589215080657504, 7615641126024648995076353400, 45540219760883626086467382176, 245864217054536878068929292282, 1211694514112553727723469598000, 5502370791090957865061663606544]]
[62, [1, 7564, 8925644, 3935276896, 866596595404, 110540091060984, 8941526856500576, 487904677349728832, 18803533316175465164, 531048799012571057452, 11345393173613143713144, 188759552956047522726048, 2513771847757266986548576, 27501583169447561134350392, 253177409576650011200439872, 2003573981378615424815257024, 13883873502889719456485169868, 85574389318632788047409644952, 475390431854977491734069591916, 2407067377242329331614986313696, 11214598225734459614564275623800]]
[63, [1, 7812, 9530766, 4349466408, 992585665764, 131368645321704, 11038992512578296, 626453271629958672, 25132822091017078158, 739369686136203925740, 16456999490579903921064, 285147455442192870639336, 3950663765103185254813416, 44895787203788856700671096, 428497535240322818649213888, 3508530828203491245972629904, 25105489681752465039194791140, 159491663921675145208299737040, 911690617628393642851207682230, 4742681609508885442550913582456, 22670329347374079672983371646376]]
[64, [1, 8064, 10166144, 4799359488, 1134318264192, 155665242691840, 13579122453539328, 800851271883531264, 33422116002977750912, 1023458465674068094336, 23718083276909619747072, 427748334084792470367744, 6162969008645834376768000, 72728656472261029845540096, 719530428077692281917907968, 6095109854994973173145684992, 45034137305014224488591728512, 294874364670274602644323223296, 1734382150839033990641710067072, 9269538217643483466589602427392, 45460030230762790760845457004800]]
[65, [1, 8320, 10832770, 5287376640, 1293451269760, 183933982266112, 16645293868120320, 1019502411255278080, 44227379585675170690, 1408775608043118906240, 33969759878411108800256, 637311148306718560879360, 9544812889440967067953920, 116931827899649647665911040, 1198935777674592592152693760, 10506001566736487957222158848, 80147518372597228405957453440, 540877363646230306284224529920, 3273400138186843340726674557570, 17974082586571805864893681337600, 90438879831088034716850442393344]]
[66, [1, 8580, 11531652, 5816059392, 1471784379780, 216741946933512, 20334762744890880, 1292583096283370496, 58248308442686858628, 1928655205395143056260, 48358438325771789986056, 943284469433653420485120, 14678529531328094402201088, 186621300161692208741508360, 1982696444031213578683192320, 17970306428755878172769192960, 141537730415501647736191296900, 984418869483939321958022712072, 6130072860858715022169795047300, 34581544283700759588797774753280, 178520593629628952937084374993160]]
[67, [1, 8844, 12263814, 6388074264, 1671269791884, 254725831377688, 24760680839901448, 1632376167579769392, 76361999688720675206, 2626535918441661353380, 68438237811029382024984, 1387212403616348893737752, 22418876726733220441535256, 295708635982747253817820488, 3254594679734815629556427776, 30506834805165041859669660208, 248053910688435755486072903820, 1778016301699903640072084014640, 11391955660635623089285079410846, 66024341385384625846580896535880, 349688809416549322094952711417624]]
[68, [1, 9112, 13030296, 7006216800, 1894022370200, 298599141366160, 30054364618236512, 2053660202221524160, 99663721151658972056, 3558768182350599985848, 96305033277736280422800, 2027360606300036759885600, 34012458345245811164127840, 465278553031649195465412176, 5303761500373705959430345920, 51407112032050929002928037440, 431487741854300360294117397400, 3187281715133290492759592612016, 21011140931633027587592155269816, 125105801958920846730224528133088, 679808379414817895718783852902800]]
[69, [1, 9384, 13832154, 7673415664, 2142330311496, 349160003056944, 36367842683411088, 2574162428008652064, 129516115386055113306, 4798132575619821163608, 134771082299144871938544, 2944984357864256830351920, 51266064371102127275216816, 727074674550724640678251728, 8581884450775919351509230144, 85999046304141850325857455264, 745067001815240996896177612872, 5671360400719164851132844708960, 38465474145824859361823137654602, 235296159060283998456113251434960, 1311753946449985413065330025402864]]
[70, [1, 9660, 14670460, 8392736800, 2418666327420, 407299622987544, 43876710493767200, 3215084327794864320, 167608396821558303100, 6438232683154440239260, 187591495798228109189784, 4252777725906609687859680, 76782594792642257080606240, 1128577686694289785187810520, 13789779287446935806219588800, 142845872063844756579158225728, 1277267370884847403013262592380, 10018168781604922896899662771960, 69905758610118335457843306373980, 439304200301642778241436963759520, 2512625436459885542098164170854552]]
[71, [1, 9940, 15546302, 9167387656, 2725699359220, 474011441411144, 52783323605161240, 4001710126211437904, 216027354932403604926, 8598959560331054882460, 259756666047441938056584, 6106205817868712874642760, 114289846828474762932240712, 1740357973393294525798162712, 22007538244769834694557302080, 235615545909158902638152947664, 2174114000297458614572128179700, 17570134309665094083117153089680, 126131775442598256871586344895430, 814286036272106699314372375735320, 4778150537699178792669857852220296]]
[72, [1, 10224, 16460784, 10000721472, 3066306841584, 550401023709216, 63320363282028096, 4964109580423191168, 277342267199350524912, 11433264918138407702704, 357868270613271921461280, 8718630291208810884646080, 169096225736019160562193984, 2666657939567435116980649632, 34888938096928731371744934528, 385975947675438321909364339584, 3674942045843562287987910396912, 30598347975945095885259229723872, 225971723736564829107517656278192, 1498637711653901684013424256817984, 9021830370507347011538503881607200]]
[73, [1, 10512, 17415026, 10896241632, 3443587532496, 637696736739680, 75754811092363296, 6137947850839601472, 354706157300392328306, 15135527419252051186032, 490620765728291026417632, 12381403065595993449135968, 248719042237564408676530272, 4060534323329749674728950176, 54950025123347299022210182016, 628049355519607486027401508416, 6169349564955010432373454356688, 52918412149530421634529858950848, 402021414587298300844285258474578, 2738862953013464529808457319935904, 16915202851518209340314268121085920]]
[74, [1, 10804, 18410164, 11857606080, 3860874926260, 737261259176232, 90392372054537664, 7565416717365046400, 451976211329146642612, 19951852165171122307188, 669415527198022994817576, 17490438622565306484706368, 363746320228214371726669248, 6145403186812516014231091112, 85994895167130595017512676480, 1015222009716485136121980489600, 10287298587342077164742754582708, 90897224291792997826179898589544, 710323905503911079653324191213812, 4970990569718800238813557094401728, 31495713332448522268488641861742120]]
[75, [1, 11100, 19447350, 12888631800, 4321751267100, 850603977158520, 107582389043669800, 9296303042904044400, 573856593317927863350, 26192708892519617823700, 909141180643207713705720, 24581198595678549205966200, 529013019806082554189671800, 9245526657013410580785460200, 133740170217413003898330825600, 1630488639220554283154540195440, 17040728687451307504632564476700, 155087872946342727921892405225200, 1246584526055170572130375515592750, 8961046518398829481885311268468200, 58245233091393288452018343334093560]]
[76, [1, 11400, 20527752, 13993299360, 4830062181000, 979394318905520, 127723294501316000, 11389212180249979200, 726067386895486941832, 34248391092328818609000, 1229161408605633906156720, 34374554565965389062335200, 765198629106483014589359520, 13828922256421114273326243312, 206725606766037157068918446400, 2602070736850955928181835812800, 28044712865372735745441549515400, 262867110852802427367481705636752, 2173152948853959173668629663424872, 16045787785716260975231487452397600, 106990730918819946240608645425112240]]
[77, [1, 11704, 21652554, 15175757520, 5389931943704, 1125476084346768, 151268649033551280, 13912965983738632800, 915543939082596768714, 44607867934117216090824, 1654560891787724453171408, 47836661663071241806219920, 1100986892645500532746221840, 20567443178952004352265803632, 317634465356949053194063596480, 4126856046092497996311400375008, 45860673944525586557200547048984, 442662841931563143212560114289952, 3763627805062451756604813890451354, 28542532118285518435019185674287728, 195231570541195212076717451298621648]]
[78, [1, 12012, 22822956, 16440327904, 6005779403052, 1290882828299064, 178733820238439648, 16948197236485339968, 1150671502200533124396, 57881705459764737781516, 2217711342489855264454584, 66256807766904423587122464, 1575972159225260124680576224, 30420475861272579284523533688, 485197523369293852934972620608, 6505370201171915309784969733312, 74525767608168451728466984768812, 740687371653039200974880424419928, 6476118679782535638381539902504524, 50442316750983467842299156441657696, 353926099916520881114705423707808184]]
[79, [1, 12324, 24040174, 17791509736, 6682334574084, 1477854358260904, 210703359084035896, 20589164651812251792, 1441560768499921850094, 74829855207968751539532, 2960233179110139230821224, 91348238346276355726150568, 2244553123388087270526577576, 44750965591470948332097071544, 736924033783256349962299802304, 10193656238261630148390844369424, 120364516434948362619081962561028, 1231595191952006852380920127017296, 11072815300991156305551753918243798, 88574744454297580356647789864795832, 637490295494510934198346702806117736]]
[80, [1, 12640, 25305440, 19233984640, 7424655925600, 1688854410514240, 247839135372316800, 24945815168634041600, 1800370678009039331680, 96395249719151127471840, 3935444690026461380767552, 125378240531682146440109440, 3181126938864585108136169600, 65485487359438795929977732160, 1112998363707367185048410010880, 15879807042224254653954488383232, 193225878275126938915549214056800, 2035250152778095581290883157695680, 18813918981024875232036138927412960, 154553138366093488193370609650842240, 1140964487374055575399991311462264640]]
[81, [1, 12960, 26620002, 20772621504, 8238148377120, 1926589570914240, 290889298282985280, 30146123051027270784, 2241685762643552725602, 123744308048441721514080, 5211410030422093541852352, 171335356340541494870324160, 4486988952240099912319886784, 95334053842766802484404412992, 1671811608965547429070345578240, 24596250357322081318118745753216, 308357914962977607677601365483040, 3342946735214312587459237808666496, 31770259192005567605588880029165346, 268002534239837900000173203718893120, 2029302167063098227896381705512240320]]
[82, [1, 13284, 27985124, 22412481408, 9128582025444, 2194029509513544, 340698132704396160, 36338738338817872128, 2782956279059493134564, 158315643625277651148900, 6874720652187162066555720, 233143549342276265897814144, 6299460787187738474526688128, 138090585366756114818294822472, 2497775281098401460064461074688, 37883611363799861309035616106240, 489232711320789872034581671993572, 5458176111193899967010838232289736, 53324200056769130429526504571785572, 461883777324966524659161377896228224, 3587031901697152546617102857398365000]]
[83, [1, 13612, 29402086, 24158822616, 10102111620268, 2494428601009112, 398216887037680968, 43695980496617285808, 3445010490230815733734, 201878485073385857452804, 9035172440067184679836376, 315935549550628943631867864, 8803918564410540768932982744, 199041828427967775813277421192, 3712305200256662830195408518912, 58028601282116588081966223924912, 771779786525746981163970894357676, 8859641150894566667265287438940080, 88967502480946358853998204452107454, 791221964440566665304225789557944968, 6301950882986157108932396968619410136]]
[84, [1, 13944, 30872184, 26017105632, 11165296808568, 2831349005918160, 464515653415565024, 52417216692174221760, 4252649693439714710136, 256602571903273852100376, 11831533674052708452354000, 426400541104154415918239904, 12249581505038762673498519264, 285521471639840770714037701008, 5489189059633618900456818495936, 88407619720670389940293710638400, 1210696094170573414479413673251448, 14298115029081582721273297709981808, 147564811283530362119450063742241560, 1347331260056239943253600499759950432, 11005324332212771754737244669391914960]]
[85, [1, 14280, 32396730, 27992998320, 12325123167720, 3208685290385904, 540796386820739280, 62732668021101444000, 5235337973485418465850, 325141575741969826353720, 15438637832232491913872304, 573224947167081296285483760, 16970158658331329846497776240, 407657869121715046779566994960, 8075988358823354371900763300160, 133980586072316110977610589377824, 1888801654194914942272159344946920, 22944498391392932142110719055631840, 243343093046063733690379789173590250, 2280862045621305939064832308133590800, 19105351999050255950363472484889897904]]
[86, [1, 14620, 33977052, 30092381088, 13589024047580, 3630690665602904, 628407155431645600, 74907691205007352256, 6428000198780389416412, 410732428923666719133820, 20076081195733731990054104, 767649437988832261013738080, 23410749801412198338677881248, 579378897858907569281056881176, 11823710579871818569257133336000, 201997243302571877742158375930432, 2930839303181142355758421314489820, 36614913906849386328517922183088056, 399006584595976192253573076620034108, 3838927893435904110517473824528876320, 32973682330237175402281579668545817304]]
[87, [1, 14964, 35614494, 32321352136, 14964903242004, 4102004930964744, 728857720678142296, 89247587845984266192, 7871943490157661083934, 517313321355900733209852, 26018859373587966301961544, 1024170596947938999655744008, 32162770067124852370758675976, 819757000509114972129542753880, 17227767488561106612706067053632, 303002568692434659227866186948688, 4523726890510789334477929082103060, 58111107798162106044898768969488912, 650587177636731426420895360105965798, 6424576461896015742204697124688010584, 56581631476112523074025755792677675848]]
[88, [1, 15312, 37310416, 34686232768, 16461158510544, 4627684208342624, 843836551968037056, 106102998245651501952, 9615919294500591005648, 649663559755769742577680, 33610340555719280181923424, 1361422109656202034789701696, 44009134084764992526257690816, 1154802595495095430235965560288, 24984271051283940220124800463744, 452261338823342999312468921513600, 6946132176887849614877925888651216, 91732549974617258286668847200921248, 1054956316868428796258011469514273808, 10691522746119814815024551214166478784, 96541507226546274894609570771784175200]]
[89, [1, 15664, 39066194, 37193572768, 18086705971312, 5213232558151200, 975229387860526688, 125875942116140325824, 11717345305951575420242, 813568977469567567302736, 43278048043876725456403872, 1803278109652926802258911264, 59982515641132162187150889760, 1619846270522673009942466395872, 36067088135183346975650016403072, 671767472756997188884495626945216, 10611453294577374013428825390313072, 144042913068357876512596558630971456, 1701397155456704862388492490569941746, 17694229322910441940298475677085819104, 163801494545752363780640805957485231520]]
[90, [1, 16020, 40883220, 39850155840, 19851005386260, 5864635571300712, 1125139462627110720, 149026574249454084480, 14243708816161591621140, 1016017145757802146061140, 55552812136778319440530536, 2380230675882083325071482560, 81440218851223584371785101120, 2262691384162415199510175981800, 51832879883235403250191015674240, 993065688790265700702166293340800, 16129985890745229591244523017868820, 225011562268768444218722264355568680, 2729338779791959441136732215816378580, 29124393450259531683515090296461871680, 276389169834864184325298811071243452520]]
[91, [1, 16380, 42762902, 42663005112, 21764086360380, 6588396034605112, 1295909524667819880, 176080729397800786416, 17274175663085960158358, 1265427277090139696702260, 71091953734387332789105336, 3131104731257966337130084920, 110160087693924640469871811128, 3147771210094457910921401464104, 74163720922578781851414781476480, 1461196770930868770227527023739632, 24398426041106196000436535908496700, 349705217987520275438076190790350960, 4355394877255199989803540799673904718, 47681622265525550538204656325599456040, 463828457332260239329234885481560837816]]
[92, [1, 16744, 44706664, 45639388704, 23836575476584, 7391571770787568, 1490145781154223648, 207638337279435591232, 20901431808171087571816, 1571920437007982758524360, 90707281328774486265619184, 4105187088601110691768723552, 148462980023921803082302395936, 4361611457533988964079224000816, 105659992890831950804193409490496, 2140190615408047859753911608989376, 36728145591768309861740535542000488, 540782942355083020576545394774484816, 6914381754472605224040456863513950152, 77651423226335898644627458237465086624, 774212967726450701238590040698959487728]]
[93, [1, 17112, 46715946, 48786825360, 26079724388280, 8281815757880400, 1710743911564592112, 244382795792376488160, 25233787729158322345386, 1947636503830224752663208, 115398821925171608651997840, 5364862539565834368026940240, 199368684901271570955991415760, 6019983461662891400081968924848, 149900287024387022347391176180416, 3120682748882136405494357678556000, 55028221722529188825156651010235064, 832158636462134100337009000474685088, 10921236909212115282144087054252739386, 125801863120491528682452883033289725872, 1285474010726783262427662725149974575760]]
[94, [1, 17484, 48792204, 52113090144, 28505438891916, 9267418636559224, 1960917301475064928, 287091398223682749504, 30397579296803754161036, 2407105246343608381340908, 146395367791834060569078264, 6988869161480762101584052640, 266793822350790844792230835296, 8277239967221050032513757944504, 211790299553826541552433721616448, 4530432646846117469233313987675072, 82065460481051240691301591484171148, 1274352622729749638033978983590176536, 17164036390919984515254346771983096108, 202767617331836233977248502461871971040, 2123238376413291560845370754090521070584]]
[95, [1, 17860, 50936910, 55626220200, 31126309002020, 10357353717781864, 2244227657088347000, 336646918517988520720, 36539902637249730870350, 2967679941264725288031660, 185203108063366873037122344, 9076307982221197940766437480, 355802297161951565511600449640, 11338459650196245218411426852600, 298029500465521067020697392187840, 6548792182670474006057805059914384, 121832235729401926708138102115015460, 1942276010496907268952311182625936080, 26843067932361648971465425310531142390, 325175811603342569798980858407180658680, 3488986245373935202597276004650802119976]]
[96, [1, 18240, 53151552, 59334520576, 33955640051520, 11561324607022464, 2564618170533277440, 394050467550457419264, 43831724698408040859456, 3650043138612603399351360, 233663830844106046138230144, 11751569440230400021168968960, 472921360286535475153166266112, 15475194992617219000176432302976, 417733128820716408997571835778560, 9426531011128539893070734331875840, 180064687104473451358115250869962560, 2946503703724638803275689931394718336, 41777796122601853387625086803402058816, 518895417590322600275705085386080623360, 5704228691829759217304970570342609724800]]

2018年10月15日月曜日

181015(3)

Ruby


A320466, A320470, A240026 とA240027

n が50以下のとき、出力してみた。

@ary1 = [1]
@ary2 = [1]
@ary3 = [1]
@ary4 = [1]

def partition(n, min, max)
  return [[]] if n == 0
  [max, n].min.downto(min).flat_map{|i| partition(n - i, min, i).map{|rest| [i, *rest]}}
end

# n > 0
def f(n)
  cnt1, cnt2, cnt3, cnt4 = 0, 0, 0, 0
  partition(n, 1, n).each{|ary|
    ary0 = (1..ary.size - 1).map{|i| ary[i - 1] - ary[i]}
    ary1 = ary0.sort
    if ary1 == ary0
      cnt1 += 1
      cnt2 += 1 if ary0.uniq == ary0
    end
    if ary1 == ary0.reverse
      cnt3 += 1
      cnt4 += 1 if ary0.uniq == ary0
    end
  }
  @ary1 << cnt1
  @ary2 << cnt2
  @ary3 << cnt3
  @ary4 << cnt4
end

n = 50
(1..n).each{|i| f(i)}
puts "A320466"
p @ary1
puts "A320470"
p @ary2
puts "A240026"
p @ary3
puts "A240027"
p @ary4

出力結果
A320466
[1, 1, 2, 3, 4, 5, 7, 7, 9, 12, 12, 13, 18, 17, 21, 25, 24, 27, 34, 33, 38, 44, 43, 47, 58, 56, 62, 70, 70, 78, 90, 84, 96, 109, 108, 118, 132, 127, 140, 158, 158, 167, 189, 185, 204, 221, 218, 236, 260, 261, 282]
A320470
[1, 1, 2, 2, 3, 4, 4, 5, 7, 6, 8, 10, 10, 11, 14, 13, 16, 19, 18, 20, 25, 23, 27, 31, 30, 34, 39, 37, 42, 48, 47, 50, 59, 56, 63, 70, 68, 74, 83, 82, 89, 97, 97, 104, 116, 113, 123, 133, 133, 142, 155]
A240026
[1, 1, 2, 3, 5, 6, 10, 12, 16, 21, 27, 32, 43, 50, 60, 75, 90, 103, 128, 146, 170, 203, 234, 264, 315, 355, 402, 467, 530, 589, 684, 764, 851, 969, 1083, 1195, 1360, 1504, 1659, 1863, 2063, 2258, 2531, 2779, 3039, 3379, 3709, 4032, 4474, 4880, 5304]
A240027
[1, 1, 2, 2, 4, 4, 5, 7, 9, 9, 13, 14, 16, 20, 23, 25, 32, 34, 38, 45, 51, 55, 65, 70, 77, 89, 99, 106, 122, 131, 143, 161, 177, 189, 211, 229, 248, 272, 298, 317, 349, 378, 406, 440, 479, 511, 554, 597, 640, 686, 744]

181015(2)

Ruby


A320509 とA320510

n が50以下のとき、出力してみた。

@ary1 = [1]
@ary2 = [1]

def partition(n, min, max)
  return [[]] if n == 0
  [max, n].min.downto(min).flat_map{|i| partition(n - i, min, i).map{|rest| [i, *rest]}}
end

# n > 0
def f(n)
  cnt1, cnt2 = 0, 0
  partition(n, 1, n).each{|ary|
    ary << 0
    ary0 = (1..ary.size - 1).map{|i| ary[i - 1] - ary[i]}
    if ary0.sort == ary0
      cnt1 += 1
      cnt2 += 1 if ary0.uniq == ary0
    end
  }
  @ary1 << cnt1
  @ary2 << cnt2
end

n = 50
(1..n).each{|i| f(i)}
puts "A320509"
p @ary1
puts "A320510"
p @ary2

出力結果
A320509
[1, 1, 2, 3, 3, 4, 6, 4, 6, 8, 7, 8, 11, 7, 12, 14, 10, 13, 19, 12, 18, 21, 16, 19, 27, 19, 25, 30, 25, 30, 37, 25, 35, 40, 35, 42, 49, 35, 49, 56, 46, 54, 66, 50, 65, 72, 60, 70, 83, 68, 84]
A320510
[1, 1, 2, 1, 2, 2, 2, 2, 4, 2, 3, 4, 3, 4, 6, 3, 5, 6, 5, 6, 9, 5, 7, 9, 8, 8, 11, 8, 11, 13, 10, 12, 15, 11, 15, 16, 14, 16, 21, 15, 20, 22, 18, 21, 26, 21, 24, 28, 25, 28, 33]

181015

Ruby


A320387, A320385, A007294 とA179269

n が100以下のとき、出力してみた。

@ary1 = [1]
@ary2 = [1]
@ary3 = [1]
@ary4 = [1]

def partition(n, min, max)
  return [[]] if n == 0
  [max, n].min.downto(min).flat_map{|i| partition(n - i, min, i - 1).map{|rest| [i, *rest]}}
end

# n > 0
def f(n)
  cnt1, cnt2, cnt3, cnt4 = 0, 0, 0, 0
  partition(n, 1, n).each{|ary|
    ary << 0
    ary0 = (1..ary.size - 1).map{|i| ary[i - 1] - ary[i]}
    ary1 = ary0.sort
    if ary1 == ary0
      cnt1 += 1
      cnt2 += 1 if ary0.uniq == ary0
    end
    if ary1 == ary0.reverse
      cnt3 += 1
      cnt4 += 1 if ary0.uniq == ary0
    end
  }
  @ary1 << cnt1
  @ary2 << cnt2
  @ary3 << cnt3
  @ary4 << cnt4
end

n = 100
(1..n).each{|i| f(i)}
puts "A320387"
p @ary1
puts "A320385"
p @ary2
puts "A007294"
p @ary3
puts "A179269"
p @ary4

出力結果
A320387
[1, 1, 1, 2, 1, 2, 3, 2, 2, 4, 3, 4, 5, 3, 5, 7, 4, 7, 8, 6, 8, 11, 7, 9, 13, 9, 11, 16, 12, 15, 18, 13, 17, 20, 17, 21, 24, 19, 24, 30, 22, 28, 34, 26, 34, 38, 30, 37, 43, 37, 42, 48, 41, 50, 58, 48, 55, 64, 53, 64, 71, 59, 73, 81, 69, 79, 89, 79, 90, 101, 87, 100, 111, 97, 115, 124, 108, 126, 137, 121, 140, 152, 138, 151, 169, 151, 166, 185, 167, 191, 201, 182, 206, 220, 204, 228, 243, 222, 250, 268, 243]
A320385
[1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 3, 2, 3, 4, 3, 3, 5, 3, 5, 6, 4, 5, 7, 5, 7, 8, 6, 7, 10, 8, 9, 11, 8, 11, 13, 9, 13, 15, 12, 14, 17, 13, 16, 20, 15, 18, 22, 18, 21, 25, 20, 23, 27, 23, 28, 30, 26, 30, 34, 30, 33, 38, 31, 38, 43, 36, 42, 46, 42, 47, 50, 45, 50, 58, 51, 55, 61, 56, 64, 68, 60, 68, 74, 70, 75, 80, 74, 82, 89, 82, 89, 96, 90, 99, 104, 97, 108, 114, 107, 116]
A007294
[1, 1, 1, 2, 2, 2, 4, 4, 4, 6, 7, 7, 10, 11, 11, 15, 17, 17, 22, 24, 25, 32, 35, 36, 44, 48, 50, 60, 66, 68, 81, 89, 92, 107, 117, 121, 141, 153, 159, 181, 197, 205, 233, 252, 262, 295, 320, 332, 372, 401, 417, 465, 501, 520, 575, 619, 645, 710, 763, 793, 869, 933, 971, 1059, 1134, 1180, 1286, 1374, 1430, 1549, 1654, 1722, 1863, 1985, 2065, 2225, 2372, 2467, 2654, 2821, 2934, 3149, 3345, 3478, 3724, 3949, 4109, 4391, 4652, 4835, 5157, 5460, 5676, 6043, 6390, 6638, 7059, 7457, 7747, 8220, 8676]
A179269
[1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 5, 5, 5, 7, 7, 7, 10, 10, 10, 13, 14, 14, 18, 19, 19, 23, 25, 25, 30, 32, 33, 38, 41, 42, 48, 52, 54, 60, 65, 67, 75, 81, 84, 92, 99, 103, 113, 121, 126, 136, 147, 153, 165, 177, 184, 197, 213, 221, 236, 253, 264, 280, 301, 313, 331, 355, 371, 390, 418, 435, 458, 490, 511, 535, 571, 595, 624, 665, 693, 723, 771, 803, 838, 891, 928, 966, 1028, 1070, 1113, 1180, 1230, 1277, 1354, 1409, 1462, 1547, 1612, 1670, 1766, 1837, 1904]

2018年10月13日土曜日

181013

Ruby


Expansion of Product_{d | k} theta_3(q^d)

k <= 96 のとき、出力してみた。

def s(k, n)
  s = 0
  (1..n).each{|i| s += i if n % i == 0 && i % k == 0}
  s
end

def A(ary, n)
  a_ary = [1]
  a = [0] + (1..n).map{|i| ary.inject(0){|s, j| s + j[1] * s(j[0], i)}}
  (1..n).each{|i| a_ary << (1..i).inject(0){|s, j| s - a[j] * a_ary[-j]} / i}
  a_ary
end

def B(k, n)
  ary = []
  (1..k).select{|i| k % i == 0}.each{|i|
    ary << [2 * i, 5]
    ary << [i, -2]
    ary << [4 * i, -2]
  }
  A(ary, n)
end

n = 100
(1..96).each{|i| p [i, B(i, n)]}

出力結果
[1, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]]
[2, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 0, 2, 8, 4, 0, 6, 0, 4, 0, 0, 4, 0, 4, 4, 0, 0, 0, 4, 2, 2, 8, 0, 0, 8, 0, 0, 8, 0, 4, 0, 0, 0, 0, 2, 0, 8, 4, 4, 0, 0, 0, 6, 4, 0, 4, 4, 0, 0, 0, 0, 10, 4, 4, 0, 0, 4, 0, 4, 4, 0, 0, 0, 0, 0, 0, 4, 4, 2, 12, 2]]
[3, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 0, 0, 4, 0, 4, 0, 0, 0, 2, 0, 2, 12, 0, 0, 4, 0, 0, 0, 0, 6, 4, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 6, 6, 0, 0, 12, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 4, 6, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 2, 12, 0, 0, 4, 0, 2, 0, 0, 12, 0, 0, 0, 0, 0, 0, 8, 0, 4, 0, 0, 0, 4, 0, 0, 6]]
[4, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 12, 0, 8, 12, 8, 10, 12, 8, 8, 24, 8, 8, 14, 8, 16, 16, 4, 0, 16, 6, 16, 16, 8, 12, 20, 24, 8, 24, 8, 16, 20, 8, 20, 0, 16, 24, 18, 10, 8, 24, 12, 32, 24, 0, 16, 24, 12, 16, 20, 0, 24, 12, 8, 16, 28, 16, 16, 48, 8, 30, 32, 8, 20, 24, 16, 0, 16, 24, 18, 32, 20, 16, 24, 24, 24, 24, 16, 24, 24, 16, 24, 0, 8, 8, 40, 18, 20, 28]]
[5, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 2, 8, 0, 0, 4, 2, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0, 0, 6, 4, 0, 0, 6, 0, 0, 0, 0, 8, 0, 4, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 8, 0, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 4, 0, 0, 0, 2]]
[6, [1, 2, 2, 6, 6, 4, 14, 8, 6, 26, 12, 16, 42, 12, 16, 44, 6, 20, 50, 16, 36, 56, 24, 16, 42, 30, 28, 78, 48, 36, 84, 40, 6, 80, 36, 48, 150, 44, 40, 100, 36, 36, 112, 48, 72, 148, 48, 48, 42, 50, 62, 124, 84, 52, 158, 64, 48, 144, 60, 64, 252, 60, 64, 200, 6, 88, 168, 64, 108, 176, 96, 80, 150, 84, 76, 218, 120, 96, 196, 72, 36, 242, 84, 80, 336, 104, 88, 204, 72, 84, 300, 112, 144, 216, 96, 128, 42, 100, 114, 304, 186]]
[7, [1, 2, 0, 0, 2, 0, 0, 2, 4, 2, 0, 4, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 2, 4, 0, 0, 8, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 4, 0, 0, 0, 4, 4, 0, 0, 0, 0, 4, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 2]]
[8, [1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 12, 16, 20, 16, 24, 24, 20, 26, 20, 24, 32, 24, 24, 32, 30, 28, 40, 32, 20, 48, 32, 24, 48, 36, 48, 52, 36, 40, 56, 48, 52, 64, 44, 48, 84, 48, 48, 96, 50, 62, 72, 56, 68, 80, 72, 64, 80, 60, 60, 96, 52, 64, 104, 24, 72, 96, 68, 72, 96, 96, 72, 104, 68, 76, 124, 80, 96, 112, 80, 144, 130, 84, 84, 128, 104, 88, 120, 96, 100, 156, 112, 96, 128, 96, 120, 96, 116, 114, 156, 124]]
[9, [1, 2, 0, 2, 6, 0, 0, 4, 0, 4, 4, 0, 10, 16, 0, 0, 14, 0, 4, 4, 0, 16, 8, 0, 0, 14, 0, 2, 20, 0, 8, 4, 0, 0, 4, 0, 12, 32, 0, 8, 20, 0, 0, 12, 0, 16, 8, 0, 26, 14, 0, 0, 32, 0, 0, 8, 0, 24, 12, 0, 0, 32, 0, 8, 30, 0, 8, 12, 0, 0, 8, 0, 20, 24, 0, 10, 20, 0, 0, 12, 0, 4, 12, 0, 32, 48, 0, 0, 40, 0, 8, 8, 0, 48, 8, 0, 0, 24, 0, 8, 42]]
[10, [1, 2, 2, 4, 2, 2, 8, 4, 10, 10, 2, 16, 8, 12, 16, 4, 26, 20, 26, 24, 2, 32, 24, 28, 40, 2, 28, 40, 16, 28, 8, 24, 58, 48, 36, 4, 26, 44, 40, 56, 10, 36, 64, 36, 24, 10, 48, 52, 104, 66, 2, 72, 28, 60, 80, 16, 80, 80, 60, 56, 8, 60, 64, 116, 122, 12, 96, 76, 36, 96, 16, 72, 130, 68, 76, 4, 40, 80, 112, 80, 26, 130, 84, 68, 64, 20, 88, 120, 120, 84, 26, 120, 48, 128, 96, 24, 232, 84, 114, 144, 2]]
[11, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 2, 4, 0, 0, 4, 2, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 4, 4, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 2, 6]]
[12, [1, 2, 2, 6, 8, 8, 18, 20, 18, 34, 40, 32, 56, 68, 44, 88, 108, 64, 122, 156, 96, 172, 232, 128, 234, 322, 180, 294, 400, 216, 344, 516, 234, 400, 608, 288, 488, 708, 364, 524, 864, 432, 620, 988, 480, 728, 1072, 576, 756, 1174, 594, 896, 1360, 680, 1050, 1424, 900, 1188, 1656, 896, 1248, 1892, 940, 1540, 1836, 1040, 1688, 2124, 1152, 1696, 2448, 1216, 2178, 2660, 1364, 2182, 2896, 1488, 2260, 3268, 1296, 2578, 3312, 1696, 2800, 3520, 1932, 2760, 4320, 1968, 3016, 4264, 2112, 3516, 4320, 2176, 3042, 4660, 2438, 3632, 4808]]
[13, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 4, 0, 2, 4, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2]]
[14, [1, 2, 2, 4, 2, 0, 4, 2, 6, 10, 8, 8, 4, 8, 2, 8, 18, 12, 18, 12, 8, 4, 16, 24, 28, 30, 16, 24, 2, 20, 32, 24, 38, 32, 28, 0, 18, 20, 28, 40, 40, 28, 4, 40, 16, 48, 32, 24, 68, 2, 38, 40, 16, 28, 56, 48, 6, 48, 36, 44, 32, 48, 40, 10, 82, 56, 64, 32, 28, 80, 8, 48, 86, 36, 52, 108, 28, 8, 80, 48, 104, 66, 60, 60, 4, 80, 64, 88, 80, 68, 104, 8, 32, 96, 56, 88, 156, 60, 2, 104, 38]]
[15, [1, 2, 0, 2, 6, 2, 4, 4, 4, 14, 0, 0, 14, 4, 4, 2, 10, 12, 12, 16, 6, 28, 8, 12, 48, 2, 8, 38, 20, 12, 4, 16, 40, 48, 8, 4, 66, 4, 8, 52, 4, 36, 28, 28, 16, 14, 12, 36, 106, 18, 0, 60, 28, 12, 40, 0, 52, 64, 16, 24, 14, 28, 16, 100, 62, 4, 40, 52, 52, 84, 4, 24, 160, 52, 24, 2, 64, 48, 48, 40, 10, 122, 16, 60, 140, 12, 20, 108, 88, 36, 12, 56, 60, 112, 20, 16, 204, 52, 32, 144, 6]]
[16, [1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 12, 16, 20, 16, 24, 26, 24, 30, 28, 32, 40, 40, 40, 48, 50, 52, 64, 64, 60, 80, 80, 72, 88, 88, 88, 100, 100, 88, 104, 112, 112, 120, 124, 112, 124, 144, 112, 144, 146, 134, 168, 160, 140, 160, 184, 160, 184, 188, 148, 192, 220, 160, 200, 218, 176, 224, 220, 192, 240, 272, 232, 248, 248, 220, 268, 304, 240, 272, 336, 240, 314, 328, 260, 320, 360, 328, 312, 368, 296, 364, 440, 320, 360, 416, 344, 432, 472, 354, 420, 484]]
[17, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 4, 0, 0, 4, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 2]]
[18, [1, 2, 2, 6, 6, 4, 14, 8, 6, 28, 16, 20, 54, 24, 24, 72, 22, 32, 104, 44, 72, 152, 60, 56, 158, 58, 80, 234, 112, 148, 304, 136, 86, 308, 140, 168, 512, 224, 252, 560, 224, 152, 560, 220, 316, 856, 320, 376, 718, 322, 242, 764, 384, 444, 1170, 480, 448, 900, 464, 332, 1184, 560, 584, 1672, 550, 576, 1276, 556, 580, 1712, 672, 776, 1960, 572, 768, 1446, 748, 832, 1968, 952, 800, 2240, 844, 884, 2224, 1032, 956, 2696, 1020, 944, 3056, 880, 1232, 3048, 1184, 1328, 2846, 1180, 1266, 3440, 1318]]
[19, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 0, 0, 4, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 2, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6]]
[20, [1, 2, 2, 4, 4, 6, 12, 12, 14, 14, 18, 24, 28, 32, 20, 36, 44, 48, 62, 40, 60, 80, 96, 92, 72, 98, 104, 152, 140, 84, 132, 160, 198, 208, 144, 172, 236, 304, 288, 208, 262, 284, 400, 404, 224, 330, 356, 460, 508, 318, 394, 416, 624, 608, 424, 520, 456, 752, 724, 472, 588, 508, 768, 884, 572, 640, 640, 916, 1024, 752, 860, 656, 1114, 1168, 744, 1044, 672, 1104, 1344, 832, 1044, 866, 1324, 1364, 1168, 1328, 860, 1640, 1584, 1092, 1518, 1072, 1484, 1792, 1172, 1464, 1304, 1776, 1902, 1448, 1908]]
[21, [1, 2, 0, 2, 6, 0, 0, 6, 4, 2, 4, 12, 6, 4, 8, 0, 10, 0, 0, 16, 8, 6, 4, 12, 4, 14, 8, 2, 34, 12, 4, 16, 40, 12, 12, 48, 6, 28, 8, 4, 44, 24, 8, 16, 44, 0, 12, 24, 10, 58, 16, 0, 28, 36, 0, 24, 100, 16, 16, 48, 8, 28, 16, 6, 62, 48, 4, 40, 24, 12, 44, 36, 4, 28, 16, 14, 64, 84, 8, 16, 96, 2, 20, 24, 34, 72, 24, 12, 68, 24, 4, 108, 60, 16, 24, 48, 40, 76, 56, 12, 74]]
[22, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 6, 8, 4, 8, 4, 2, 12, 6, 8, 12, 0, 14, 12, 8, 10, 4, 12, 16, 12, 12, 12, 2, 28, 20, 16, 26, 8, 24, 24, 12, 20, 24, 8, 46, 28, 12, 24, 8, 34, 26, 32, 28, 12, 20, 48, 16, 24, 20, 12, 48, 12, 28, 16, 2, 32, 60, 28, 36, 44, 24, 36, 26, 20, 24, 32, 40, 64, 32, 24, 12, 34, 28, 40, 64, 24, 16, 48, 46, 16, 60, 16, 48, 44, 32, 24, 8, 40, 34, 98, 62]]
[23, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 4, 2, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 2]]
[24, [1, 2, 2, 6, 8, 8, 18, 20, 20, 38, 44, 44, 72, 84, 80, 128, 144, 132, 202, 220, 208, 308, 320, 304, 452, 454, 428, 618, 608, 576, 844, 812, 744, 1124, 1060, 976, 1448, 1324, 1248, 1852, 1656, 1564, 2320, 2068, 1984, 2896, 2528, 2408, 3600, 3066, 2926, 4396, 3696, 3600, 5274, 4376, 4288, 6276, 5148, 5052, 7376, 5996, 5904, 8612, 6840, 6816, 10048, 7748, 7760, 11456, 8832, 8944, 12980, 9940, 10140, 14786, 11200, 11312, 16652, 12556, 12960, 18674, 13716, 14468, 20960, 15360, 16096, 23160, 17136, 18060, 25628, 18744, 19648, 28476, 20640, 21720, 30984, 22540, 24178, 33844, 24504]]
[25, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 2, 8, 0, 0, 4, 4, 4, 0, 0, 8, 8, 8, 0, 0, 12, 0, 6, 0, 0, 8, 0, 8, 0, 0, 0, 10, 20, 0, 0, 14, 4, 0, 0, 0, 16, 8, 4, 0, 0, 0, 0, 16, 0, 0, 2, 0, 8, 0, 0, 8, 16, 8, 0, 0, 12, 0, 0, 0, 0, 16, 2, 18, 0, 0, 8, 0, 12, 0, 0, 8, 0, 0, 0, 0, 20, 8, 4, 0, 0, 0, 4]]
[26, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 2, 4, 4, 10, 8, 6, 12, 0, 4, 16, 0, 12, 10, 2, 12, 4, 12, 12, 12, 18, 8, 8, 20, 6, 16, 16, 4, 24, 12, 20, 20, 16, 28, 16, 16, 36, 14, 26, 36, 2, 20, 20, 16, 28, 40, 28, 20, 12, 36, 16, 28, 42, 0, 40, 28, 8, 16, 36, 16, 46, 20, 16, 32, 16, 40, 4, 40, 48, 34, 28, 36, 20, 36, 28, 40, 32, 36, 60, 0, 16, 48, 36, 32, 76, 20, 30, 28, 26]]
[27, [1, 2, 0, 2, 6, 0, 0, 4, 0, 4, 4, 0, 10, 16, 0, 0, 14, 0, 4, 4, 0, 16, 8, 0, 0, 14, 0, 4, 24, 0, 12, 16, 0, 0, 12, 0, 20, 40, 0, 28, 52, 0, 0, 40, 0, 24, 16, 0, 58, 30, 0, 0, 60, 0, 4, 48, 0, 40, 20, 0, 0, 40, 0, 32, 94, 0, 24, 52, 0, 0, 32, 0, 52, 40, 0, 62, 48, 0, 0, 76, 0, 4, 28, 0, 80, 72, 0, 0, 104, 0, 24, 68, 0, 64, 32, 0, 0, 40, 0, 48, 90]]
[28, [1, 2, 2, 4, 4, 4, 8, 10, 10, 10, 16, 12, 16, 28, 18, 24, 28, 32, 26, 36, 48, 28, 60, 52, 56, 58, 64, 88, 68, 100, 72, 96, 86, 104, 144, 92, 132, 116, 152, 120, 168, 184, 136, 220, 168, 228, 172, 240, 280, 234, 282, 208, 336, 212, 352, 408, 266, 360, 324, 444, 288, 492, 464, 338, 512, 392, 528, 380, 576, 568, 512, 556, 426, 680, 452, 724, 720, 604, 600, 588, 840, 506, 896, 756, 688, 720, 684, 968, 612, 1016, 896, 932, 840, 784, 1136, 712, 1176, 1168, 994, 844, 964]]
[29, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2]]
[30, [1, 2, 2, 6, 6, 6, 18, 12, 18, 38, 22, 48, 62, 36, 80, 82, 78, 132, 122, 136, 178, 196, 208, 212, 298, 290, 340, 474, 312, 428, 582, 424, 642, 688, 572, 868, 934, 772, 872, 1068, 1078, 1292, 1568, 1124, 1344, 1906, 1400, 1676, 2038, 1658, 2386, 2860, 1996, 2068, 2922, 2672, 3160, 3992, 2676, 3416, 4826, 3284, 3744, 4516, 3902, 5484, 6544, 4748, 4404, 6460, 6000, 6072, 8450, 5924, 6772, 10598, 6648, 6976, 9076, 7088, 10378, 12674, 8900, 8612, 12024, 10828, 10640, 14436, 10784, 11796, 18878, 12344, 11264, 15416, 12072, 16248, 21210, 14916, 13826, 21040, 17638]]
[31, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2]]
[32, [1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 12, 16, 20, 16, 24, 26, 24, 30, 28, 32, 40, 40, 40, 48, 50, 52, 64, 64, 60, 80, 80, 74, 92, 92, 96, 108, 108, 104, 120, 128, 132, 144, 148, 144, 164, 176, 160, 196, 194, 194, 224, 224, 220, 240, 264, 256, 284, 292, 276, 320, 340, 320, 360, 362, 352, 400, 396, 392, 440, 448, 440, 472, 472, 460, 516, 528, 488, 560, 560, 528, 606, 596, 596, 640, 640, 648, 680, 688, 664, 740, 736, 704, 800, 736, 744, 868, 824, 802, 860, 868]]
[33, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 2, 10, 4, 4, 12, 6, 0, 8, 4, 4, 4, 0, 12, 8, 2, 0, 14, 12, 0, 8, 4, 8, 2, 4, 0, 14, 16, 4, 28, 8, 0, 12, 4, 6, 24, 8, 24, 50, 18, 8, 24, 20, 12, 16, 0, 36, 28, 4, 12, 52, 28, 0, 52, 14, 24, 0, 4, 8, 24, 8, 12, 88, 4, 8, 38, 20, 4, 16, 4, 44, 62, 12, 24, 36, 24, 12, 48, 0, 24, 32, 8, 40, 64, 8, 24, 96, 16, 16, 2, 18]]
[34, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 6, 10, 8, 8, 4, 4, 8, 4, 6, 12, 8, 8, 8, 0, 0, 2, 12, 14, 16, 18, 8, 8, 8, 8, 12, 8, 16, 20, 8, 8, 0, 4, 6, 22, 28, 20, 28, 24, 16, 8, 24, 16, 16, 32, 24, 16, 16, 2, 8, 16, 32, 46, 28, 32, 24, 18, 20, 24, 28, 24, 20, 40, 8, 8, 14, 12, 32, 48, 48, 16, 32, 20, 32, 16, 16, 32, 20, 16, 32, 4, 4, 26, 36, 38]]
[35, [1, 2, 0, 0, 2, 2, 4, 2, 4, 6, 0, 4, 4, 8, 4, 0, 14, 0, 0, 0, 2, 16, 0, 4, 4, 2, 0, 4, 18, 8, 4, 8, 8, 4, 8, 2, 18, 20, 0, 4, 4, 12, 12, 20, 16, 6, 12, 8, 28, 30, 0, 28, 20, 12, 8, 4, 48, 8, 16, 8, 4, 20, 8, 46, 34, 8, 16, 20, 20, 40, 4, 32, 52, 12, 8, 0, 24, 44, 24, 12, 14, 18, 16, 28, 76, 0, 4, 52, 48, 28, 0, 48, 28, 32, 4, 0, 52, 16, 28, 48, 2]]
[36, [1, 2, 2, 6, 8, 8, 18, 20, 18, 36, 44, 36, 68, 84, 60, 124, 148, 100, 192, 240, 164, 296, 384, 232, 446, 578, 344, 610, 800, 480, 824, 1148, 610, 1116, 1548, 848, 1460, 1988, 1124, 1804, 2664, 1364, 2312, 3360, 1744, 2920, 4080, 2256, 3428, 5166, 2646, 4296, 6352, 3264, 5290, 7384, 4172, 6084, 9060, 4636, 7312, 10900, 5532, 8992, 12220, 6968, 10232, 14840, 7724, 11848, 17648, 8904, 14652, 19480, 10904, 16290, 23120, 12048, 18496, 27332, 13460, 22616, 29820, 16564, 24912, 34776, 18108, 27436, 40920, 19628, 33000, 43592, 23720, 36368, 49872, 26008, 38678, 58144, 28062, 46392, 61544]]
[37, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]]
[38, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 6, 4, 4, 12, 4, 4, 10, 0, 12, 12, 0, 8, 8, 2, 8, 4, 4, 14, 12, 14, 4, 4, 20, 4, 12, 16, 0, 20, 12, 4, 10, 10, 12, 16, 8, 12, 20, 12, 28, 8, 12, 32, 8, 16, 28, 2, 24, 32, 12, 24, 20, 20, 16, 14, 28, 28, 28, 46, 4, 12, 32, 4, 34, 28, 8, 36, 28, 20, 20, 16, 28, 32, 28, 28, 32, 20, 48, 4, 12, 26, 12, 46]]
[39, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 6, 4, 0, 10, 12, 0, 4, 8, 4, 4, 0, 0, 14, 8, 2, 12, 12, 0, 4, 8, 0, 8, 0, 6, 4, 4, 6, 8, 24, 4, 16, 8, 0, 8, 0, 10, 18, 8, 12, 34, 12, 0, 24, 44, 4, 8, 24, 8, 28, 12, 4, 46, 48, 4, 28, 36, 0, 16, 24, 0, 28, 8, 14, 28, 24, 8, 16, 80, 2, 8, 24, 12, 0, 8, 12, 52, 48, 0, 60, 16, 4, 12, 48, 8, 28, 16, 0, 58]]
[40, [1, 2, 2, 4, 4, 6, 12, 12, 16, 18, 22, 32, 36, 44, 44, 60, 72, 76, 98, 88, 116, 144, 136, 164, 160, 194, 228, 232, 260, 244, 324, 344, 344, 408, 356, 484, 524, 484, 576, 552, 688, 732, 728, 804, 760, 1014, 996, 972, 1152, 1018, 1362, 1368, 1264, 1516, 1416, 1744, 1760, 1736, 1916, 1784, 2348, 2180, 2152, 2572, 2200, 2948, 2832, 2668, 3192, 2864, 3620, 3528, 3472, 3836, 3540, 4660, 4224, 4248, 4952, 4192, 5688, 5322, 5084, 5924, 5320, 6820, 6380, 6312, 6912, 6388, 8374, 7432, 7500, 8480, 7276, 9944, 8992, 8604, 9866, 8944, 11436]]
[41, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]]
[42, [1, 2, 2, 6, 6, 4, 14, 10, 10, 30, 24, 28, 50, 40, 34, 60, 62, 56, 94, 108, 88, 110, 136, 92, 142, 198, 168, 258, 246, 220, 296, 272, 298, 444, 420, 404, 578, 444, 420, 592, 616, 608, 782, 880, 592, 812, 888, 768, 1114, 1178, 1094, 1360, 1248, 1036, 1658, 1328, 1466, 2252, 1588, 1588, 2072, 1864, 1704, 2534, 2526, 1968, 2728, 2656, 2244, 2860, 3192, 2780, 3838, 3500, 2820, 4514, 3204, 3644, 5576, 3824, 3912, 5754, 4532, 4172, 6466, 5224, 4768, 6580, 6208, 5528, 6728, 7352, 6192, 8368, 7384, 6376, 9870, 7460, 8210, 11948, 7746]]
[43, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2]]
[44, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 6, 12, 16, 8, 16, 20, 24, 26, 24, 20, 24, 34, 28, 36, 22, 32, 48, 48, 40, 36, 44, 38, 76, 56, 56, 56, 68, 96, 88, 84, 56, 88, 80, 108, 108, 88, 84, 128, 162, 122, 136, 112, 132, 148, 188, 144, 120, 152, 180, 228, 184, 152, 160, 188, 200, 264, 212, 176, 232, 296, 316, 282, 264, 232, 276, 304, 328, 312, 256, 304, 442, 440, 384, 368, 360, 376, 448, 510, 356, 356, 448, 524, 584, 492, 392, 428, 516, 514, 642, 504]]
[45, [1, 2, 0, 2, 6, 2, 4, 4, 4, 16, 4, 0, 18, 16, 8, 10, 18, 20, 40, 16, 6, 56, 16, 20, 52, 22, 32, 62, 52, 24, 60, 32, 64, 144, 12, 20, 144, 48, 32, 64, 48, 120, 132, 52, 32, 176, 24, 52, 242, 46, 84, 128, 112, 76, 124, 64, 136, 368, 100, 64, 250, 124, 96, 336, 134, 144, 288, 148, 220, 312, 120, 128, 616, 288, 96, 306, 240, 352, 560, 128, 130, 760, 244, 244, 488, 284, 360, 596, 336, 152, 712, 128, 388, 1024, 152, 272, 692, 512, 296, 576, 386]]
[46, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 2, 8, 6, 8, 12, 0, 8, 0, 4, 14, 8, 12, 8, 6, 0, 4, 4, 8, 16, 8, 4, 4, 8, 2, 12, 12, 10, 22, 8, 8, 0, 12, 16, 16, 24, 8, 16, 0, 8, 4, 8, 22, 8, 16, 12, 12, 4, 16, 20, 26, 32, 16, 20, 4, 24, 28, 16, 40, 26, 24, 4, 8, 8, 20, 36, 20, 28, 16, 24, 2, 20, 20, 24, 52, 20, 18, 20, 22]]
[47, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2]]
[48, [1, 2, 2, 6, 8, 8, 18, 20, 20, 38, 44, 44, 72, 84, 80, 128, 146, 136, 206, 232, 224, 324, 356, 344, 492, 530, 516, 706, 752, 744, 1004, 1068, 1032, 1388, 1464, 1416, 1864, 1940, 1888, 2460, 2560, 2472, 3176, 3304, 3200, 4048, 4216, 4032, 5090, 5318, 5050, 6360, 6608, 6264, 7806, 8120, 7640, 9480, 9876, 9276, 11488, 11956, 11120, 13684, 14334, 13224, 16316, 17016, 15616, 19320, 20128, 18424, 22580, 23628, 21556, 26390, 27600, 24960, 30628, 32172, 28992, 35346, 37144, 33236, 40624, 42768, 38176, 46576, 49120, 43792, 53116, 56160, 49664, 60348, 64064, 56520, 68568, 72764, 63822, 77428, 82504]]
[49, [1, 2, 0, 0, 2, 0, 0, 2, 4, 2, 0, 4, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 0, 2, 4, 0, 0, 8, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0, 0, 4, 4, 0, 0, 8, 0, 0, 8, 8, 4, 0, 8, 0, 0, 2, 10, 12, 0, 4, 0, 0, 0, 4, 12, 0, 4, 0, 0, 8, 8, 4, 0, 18, 0, 0, 0, 4, 8, 0, 8, 0, 0, 0, 12, 8, 0, 0, 0, 0, 4, 4, 2]]
[50, [1, 2, 2, 4, 2, 2, 8, 4, 10, 10, 2, 16, 8, 12, 16, 4, 26, 20, 26, 24, 2, 32, 24, 28, 40, 4, 32, 44, 24, 32, 12, 40, 66, 68, 56, 8, 58, 60, 64, 88, 18, 88, 104, 88, 72, 14, 112, 100, 160, 146, 8, 132, 112, 100, 140, 36, 144, 204, 176, 148, 20, 144, 168, 220, 266, 40, 220, 244, 160, 192, 40, 232, 282, 332, 288, 16, 248, 224, 280, 304, 82, 370, 376, 324, 288, 52, 324, 368, 480, 504, 86, 488, 408, 376, 432, 84, 600, 544, 570, 588, 24]]
[51, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 2, 4, 4, 4, 16, 0, 0, 8, 2, 4, 2, 12, 12, 8, 4, 0, 12, 0, 0, 14, 4, 8, 4, 0, 0, 4, 4, 4, 24, 0, 0, 14, 6, 0, 2, 16, 12, 12, 12, 8, 4, 8, 0, 12, 4, 0, 16, 14, 12, 12, 16, 6, 36, 8, 12, 44, 4, 8, 26, 16, 12, 12, 28, 44, 38, 8, 0, 56, 0, 0, 36, 8, 24, 16, 8, 4, 40, 8, 12, 80, 4, 4, 36, 18]]
[52, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 14, 4, 12, 20, 16, 18, 28, 24, 20, 36, 24, 16, 30, 34, 20, 36, 36, 24, 44, 46, 48, 44, 68, 44, 44, 68, 52, 64, 64, 64, 52, 76, 88, 80, 88, 112, 90, 82, 116, 108, 100, 120, 128, 88, 120, 156, 108, 136, 204, 124, 132, 164, 156, 160, 212, 176, 104, 216, 200, 182, 216, 248, 168, 220, 240, 184, 248, 288, 258, 208, 316, 296, 268, 328, 352, 280, 296, 328, 304, 304, 432, 372, 280, 416, 448, 366, 436, 540]]
[53, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2]]
[54, [1, 2, 2, 6, 6, 4, 14, 8, 6, 28, 16, 20, 54, 24, 24, 72, 22, 32, 104, 44, 72, 152, 60, 56, 158, 58, 80, 236, 116, 152, 316, 148, 94, 336, 156, 180, 568, 256, 292, 668, 272, 200, 704, 264, 380, 1064, 408, 520, 1022, 442, 354, 1080, 500, 604, 1640, 708, 748, 1520, 748, 512, 1828, 856, 932, 2752, 1030, 1120, 2504, 1052, 932, 2976, 1156, 1472, 3880, 1300, 1664, 3186, 1512, 1428, 3812, 1836, 1848, 5052, 2036, 2084, 4656, 2256, 1808, 5736, 2452, 2472, 7536, 2492, 2968, 6936, 2840, 2888, 7678, 3052, 3578, 9488, 3278]]
[55, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 2, 4, 0, 4, 4, 6, 8, 0, 0, 14, 8, 0, 0, 4, 10, 0, 4, 0, 4, 4, 4, 16, 0, 0, 8, 10, 0, 0, 0, 8, 12, 0, 0, 2, 10, 4, 12, 4, 10, 8, 0, 8, 12, 8, 2, 20, 8, 8, 4, 20, 12, 0, 0, 18, 32, 4, 16, 8, 20, 12, 12, 24, 8, 8, 32, 16, 0, 0, 8, 50, 18, 8, 0, 16, 16, 12, 32, 0, 16, 24, 24, 20, 12, 4, 32, 28, 8, 16, 6, 42]]
[56, [1, 2, 2, 4, 4, 4, 8, 10, 12, 14, 20, 20, 24, 36, 34, 44, 48, 52, 58, 60, 80, 84, 96, 100, 112, 122, 116, 160, 164, 156, 192, 200, 200, 224, 276, 276, 276, 324, 312, 332, 360, 412, 456, 428, 464, 516, 512, 528, 672, 666, 606, 720, 768, 724, 816, 992, 940, 948, 1020, 1044, 1104, 1124, 1328, 1366, 1240, 1348, 1504, 1492, 1464, 1856, 1812, 1560, 1884, 1940, 1900, 2052, 2376, 2372, 2176, 2400, 2496, 2598, 2628, 2964, 3160, 2720, 3008, 3408, 3280, 3260, 3940, 3956, 3440, 3912, 4176, 4092, 4256, 4924, 4882, 4500, 4860]]
[57, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 0, 0, 6, 4, 4, 4, 12, 0, 2, 8, 2, 16, 0, 0, 16, 8, 0, 0, 12, 6, 4, 8, 4, 8, 0, 0, 4, 4, 0, 4, 24, 6, 6, 8, 0, 12, 0, 0, 12, 8, 6, 12, 0, 4, 16, 8, 4, 14, 0, 4, 16, 12, 12, 8, 24, 0, 16, 0, 2, 34, 12, 8, 16, 44, 2, 12, 36, 16, 36, 8, 0, 44, 24, 0, 8, 44, 16, 12, 48, 8, 28, 8, 0, 18]]
[58, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 2, 4, 4, 10, 12, 4, 8, 6, 4, 16, 0, 8, 12, 0, 4, 4, 4, 8, 12, 12, 2, 2, 16, 0, 8, 12, 0, 16, 8, 2, 8, 4, 12, 20, 8, 10, 12, 12, 24, 4, 8, 16, 0, 14, 12, 4, 12, 16, 16, 4, 4, 24, 10, 12, 24, 0, 16, 20, 4, 20, 12, 20, 24, 8, 20, 12, 24, 44, 12, 18, 36, 2]]
[59, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2]]
[60, [1, 2, 2, 6, 8, 10, 22, 24, 30, 50, 58, 72, 100, 116, 128, 190, 220, 228, 330, 360, 408, 576, 608, 664, 902, 1002, 1092, 1398, 1500, 1596, 2110, 2304, 2314, 2984, 3212, 3384, 4396, 4516, 4696, 5948, 6430, 6732, 8080, 8608, 8776, 11002, 11800, 11544, 14168, 15002, 15354, 18924, 19448, 19572, 23694, 25320, 25956, 30168, 31748, 31768, 38132, 40900, 39552, 46848, 48880, 49124, 59360, 60320, 60152, 70224, 74080, 75904, 86362, 89652, 88484, 104094, 110584, 107216, 124204, 126864, 126764, 151786, 152196, 151024, 173668, 178868, 184368, 208052, 212480, 208468, 241890, 254480, 246308, 284752, 284360, 281672, 337082, 333300, 331074, 377304, 380600]]
[61, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 2, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 2]]
[62, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 2, 6, 12, 12, 4, 6, 8, 4, 4, 12, 4, 8, 12, 4, 0, 0, 4, 12, 14, 10, 8, 0, 8, 8, 8, 4, 8, 16, 4, 0, 0, 2, 8, 22, 16, 12, 16, 12, 8, 4, 12, 14, 12, 16, 12, 4, 0, 4, 16, 16, 22, 20, 4, 8, 16, 12, 4, 20, 20, 8, 0, 0, 4, 12, 28, 28, 28, 22, 36, 10]]
[63, [1, 2, 0, 2, 6, 0, 0, 6, 4, 4, 8, 12, 10, 16, 8, 0, 22, 8, 4, 24, 32, 18, 12, 28, 4, 34, 8, 2, 66, 28, 16, 24, 64, 20, 40, 64, 12, 100, 32, 16, 88, 104, 32, 52, 148, 16, 76, 64, 30, 154, 80, 16, 80, 124, 0, 80, 164, 48, 140, 104, 16, 112, 104, 12, 182, 272, 48, 116, 200, 52, 136, 172, 36, 224, 152, 50, 264, 196, 48, 180, 272, 20, 152, 168, 122, 352, 280, 36, 236, 312, 16, 336, 388, 160, 256, 336, 120, 368, 264, 56, 646]]
[64, [1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 12, 16, 20, 16, 24, 26, 24, 30, 28, 32, 40, 40, 40, 48, 50, 52, 64, 64, 60, 80, 80, 74, 92, 92, 96, 108, 108, 104, 120, 128, 132, 144, 148, 144, 164, 176, 160, 196, 194, 194, 224, 224, 220, 240, 264, 256, 284, 292, 276, 320, 340, 320, 360, 364, 356, 404, 404, 400, 448, 464, 456, 488, 492, 484, 540, 560, 528, 592, 608, 580, 654, 656, 652, 704, 720, 728, 760, 784, 764, 844, 864, 832, 920, 896, 904, 1016, 1008, 986, 1052, 1084]]
[65, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 0, 0, 2, 8, 0, 2, 4, 4, 8, 2, 8, 12, 0, 4, 2, 0, 8, 0, 8, 4, 0, 0, 4, 16, 0, 6, 8, 4, 0, 0, 4, 8, 8, 0, 6, 4, 0, 0, 18, 0, 0, 2, 4, 16, 0, 8, 4, 20, 8, 0, 16, 12, 0, 2, 2, 12, 16, 4, 20, 8, 8, 4, 16, 20, 0, 8, 8, 4, 16, 2, 22, 32, 16, 24, 4, 20, 24, 12, 12, 4, 0, 16, 12, 40, 8, 4, 28, 16, 40, 2]]
[66, [1, 2, 2, 6, 6, 4, 14, 8, 6, 26, 12, 18, 46, 16, 28, 56, 14, 48, 66, 28, 88, 80, 58, 104, 70, 74, 128, 98, 116, 152, 128, 164, 142, 166, 164, 168, 278, 224, 232, 320, 256, 272, 420, 244, 382, 516, 312, 540, 486, 346, 562, 616, 456, 728, 674, 612, 772, 668, 756, 692, 952, 848, 932, 1064, 894, 920, 1142, 964, 1108, 1620, 1000, 1472, 1558, 1204, 1512, 1754, 1328, 1800, 2192, 1504, 2088, 1854, 1716, 2056, 2500, 1984, 2392, 2760, 2206, 2496, 2700, 2368, 2412, 3680, 2604, 3192, 3590, 2512, 3034, 3754, 2946]]
[67, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2]]
[68, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 12, 0, 8, 12, 10, 14, 16, 16, 16, 32, 24, 24, 26, 20, 32, 24, 20, 24, 16, 22, 40, 34, 32, 40, 44, 48, 64, 56, 40, 56, 48, 56, 60, 24, 40, 56, 46, 66, 60, 68, 68, 104, 104, 80, 112, 88, 96, 96, 100, 88, 64, 92, 88, 96, 128, 100, 128, 152, 160, 174, 160, 152, 148, 160, 144, 152, 136, 120, 122, 160, 144, 204, 172, 184, 248, 232, 268, 232, 232, 200, 240, 200, 176, 200, 184, 190, 260, 228]]
[69, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 0, 0, 4, 0, 4, 0, 2, 4, 2, 4, 14, 12, 0, 8, 4, 4, 0, 0, 12, 14, 4, 0, 16, 0, 0, 8, 4, 8, 0, 0, 0, 10, 6, 4, 24, 12, 0, 8, 0, 0, 4, 0, 12, 8, 4, 8, 4, 6, 0, 8, 4, 0, 2, 4, 12, 16, 16, 0, 26, 20, 0, 4, 4, 8, 14, 8, 0, 20, 12, 8, 12, 8, 0, 16, 8, 6, 16, 4, 12, 48, 28, 4, 48, 14]]
[70, [1, 2, 2, 4, 2, 2, 8, 6, 14, 14, 10, 20, 12, 28, 26, 28, 50, 32, 62, 44, 42, 76, 60, 108, 100, 94, 100, 100, 130, 128, 160, 160, 182, 188, 184, 174, 170, 244, 260, 316, 278, 236, 280, 284, 328, 374, 384, 360, 500, 398, 382, 436, 376, 692, 572, 652, 606, 456, 768, 628, 860, 760, 744, 1074, 866, 924, 892, 932, 1060, 1344, 1266, 1072, 1238, 1164, 1588, 1460, 1308, 1524, 1548, 1772, 1738, 1706, 1508, 1840, 2124, 2136, 1776, 1844, 2504, 2092, 2782, 2212, 1920, 2896, 2332, 3380, 2732, 2320, 3386, 3008, 3310]]
[71, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2]]
[72, [1, 2, 2, 6, 8, 8, 18, 20, 20, 40, 48, 48, 84, 100, 96, 164, 184, 172, 280, 312, 300, 464, 504, 480, 744, 782, 732, 1102, 1144, 1088, 1628, 1652, 1544, 2356, 2336, 2176, 3244, 3164, 3000, 4468, 4288, 4012, 6056, 5752, 5400, 7992, 7456, 7072, 10536, 9650, 9110, 13676, 12424, 11840, 17402, 15584, 14928, 22124, 19520, 18608, 27768, 24316, 23376, 34336, 29624, 28704, 42440, 36064, 34868, 51752, 43856, 42720, 62528, 52340, 51308, 75706, 62424, 61008, 90460, 74452, 73536, 107204, 87184, 86800, 127392, 102544, 101512, 149556, 120416, 120308, 174600, 138712, 139632, 204488, 160848, 161280, 236184, 186356, 188674, 272096, 212480]]
[73, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2]]
[74, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 0, 2, 8, 4, 0, 6, 2, 8, 4, 8, 8, 0, 12, 4, 4, 12, 0, 12, 10, 2, 8, 0, 4, 16, 12, 8, 8, 0, 12, 0, 8, 4, 0, 18, 0, 8, 4, 4, 4, 16, 8, 6, 16, 2, 16, 8, 8, 12, 0, 16, 18, 8, 16, 0, 16, 16, 4, 20, 4, 4, 24, 12, 8, 16, 0, 20, 4, 10, 16, 2]]
[75, [1, 2, 0, 2, 6, 2, 4, 4, 4, 14, 0, 0, 14, 4, 4, 2, 10, 12, 12, 16, 6, 28, 8, 12, 48, 4, 12, 38, 24, 24, 8, 24, 48, 56, 36, 4, 66, 32, 16, 60, 8, 56, 52, 52, 48, 26, 68, 52, 130, 114, 4, 76, 104, 52, 64, 8, 84, 144, 112, 40, 22, 160, 24, 116, 166, 12, 112, 108, 108, 116, 32, 48, 232, 264, 60, 4, 188, 104, 76, 132, 14, 234, 152, 100, 216, 40, 76, 168, 296, 168, 24, 156, 188, 240, 220, 36, 308, 388, 160, 288, 20]]
[76, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 12, 0, 8, 12, 8, 10, 14, 12, 12, 32, 16, 16, 30, 24, 28, 28, 20, 8, 32, 30, 16, 32, 32, 28, 40, 50, 28, 44, 64, 40, 44, 52, 52, 44, 60, 48, 26, 58, 44, 56, 60, 72, 64, 60, 92, 64, 84, 96, 84, 72, 100, 100, 64, 104, 116, 68, 100, 124, 88, 118, 160, 112, 100, 156, 120, 112, 176, 144, 106, 184, 148, 120, 176, 176, 108, 172, 200, 152, 204, 224, 168, 160, 236, 160, 200, 226, 220, 192]]
[77, [1, 2, 0, 0, 2, 0, 0, 2, 4, 2, 0, 6, 4, 0, 0, 4, 6, 0, 4, 8, 4, 0, 8, 4, 0, 2, 0, 12, 2, 4, 0, 0, 8, 0, 8, 0, 6, 4, 0, 4, 8, 0, 0, 20, 6, 4, 0, 4, 12, 2, 0, 4, 8, 8, 8, 16, 4, 0, 0, 0, 16, 0, 0, 2, 18, 0, 0, 20, 0, 4, 0, 4, 8, 8, 4, 20, 16, 6, 12, 4, 4, 14, 8, 8, 4, 8, 4, 8, 36, 8, 8, 0, 16, 16, 0, 8, 16, 16, 0, 38, 22]]
[78, [1, 2, 2, 6, 6, 4, 14, 8, 6, 26, 12, 16, 42, 14, 20, 48, 18, 32, 58, 44, 52, 68, 76, 40, 74, 114, 54, 114, 140, 60, 136, 148, 66, 168, 160, 148, 206, 160, 184, 186, 236, 232, 232, 292, 276, 276, 328, 268, 342, 454, 330, 516, 418, 388, 602, 432, 468, 692, 548, 584, 792, 540, 632, 760, 766, 700, 916, 1012, 736, 1016, 1084, 684, 1102, 1260, 816, 1490, 1224, 944, 1370, 1288, 1188, 1582, 1488, 1488, 1800, 1556, 1572, 1476, 2068, 1752, 2196, 2072, 1704, 2404, 2128, 1888, 2582, 2540, 2182, 3424, 2094]]
[79, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2]]
[80, [1, 2, 2, 4, 4, 6, 12, 12, 16, 18, 22, 32, 36, 44, 44, 60, 74, 80, 102, 96, 124, 156, 160, 188, 192, 230, 272, 296, 332, 332, 412, 464, 488, 560, 552, 660, 756, 772, 848, 880, 1008, 1120, 1184, 1268, 1280, 1502, 1644, 1660, 1840, 1834, 2074, 2336, 2312, 2484, 2568, 2848, 3136, 3200, 3372, 3392, 3868, 4208, 4144, 4516, 4506, 4988, 5560, 5412, 5728, 5908, 6476, 7040, 7024, 7344, 7416, 8292, 8992, 8696, 9344, 9456, 10234, 11374, 10948, 11444, 11944, 12848, 13916, 13720, 14208, 14484, 15954, 17280, 16540, 17552, 17916, 19136, 21204, 20224, 20950, 21952, 23372]]
[81, [1, 2, 0, 2, 6, 0, 0, 4, 0, 4, 4, 0, 10, 16, 0, 0, 14, 0, 4, 4, 0, 16, 8, 0, 0, 14, 0, 4, 24, 0, 12, 16, 0, 0, 12, 0, 20, 40, 0, 28, 52, 0, 0, 40, 0, 24, 16, 0, 58, 30, 0, 0, 60, 0, 4, 48, 0, 40, 20, 0, 0, 40, 0, 32, 94, 0, 24, 52, 0, 0, 32, 0, 52, 40, 0, 62, 48, 0, 0, 76, 0, 6, 32, 0, 84, 84, 0, 0, 112, 0, 32, 76, 0, 84, 64, 0, 0, 68, 0, 56, 98]]
[82, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 0, 2, 8, 4, 0, 6, 0, 4, 0, 0, 6, 4, 8, 12, 4, 0, 8, 4, 6, 14, 8, 8, 8, 8, 0, 0, 12, 8, 16, 8, 0, 0, 8, 2, 8, 12, 4, 20, 0, 0, 0, 6, 8, 16, 12, 4, 12, 0, 8, 0, 10, 14, 8, 12, 16, 8, 0, 12, 12, 8, 16, 16, 8, 8, 16, 4, 4, 22, 20, 22]]
[83, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 2]]
[84, [1, 2, 2, 6, 8, 8, 18, 22, 22, 38, 52, 48, 72, 104, 86, 128, 180, 156, 202, 284, 268, 306, 456, 424, 478, 678, 652, 730, 960, 980, 1036, 1400, 1378, 1472, 1940, 1864, 2072, 2588, 2616, 2688, 3472, 3500, 3558, 4672, 4524, 4832, 5896, 6024, 6236, 7498, 7766, 7876, 9864, 9564, 10186, 12152, 12002, 12844, 15092, 15316, 15324, 19040, 18520, 19282, 23288, 22584, 24024, 27560, 28244, 28328, 33788, 33440, 34382, 41444, 39212, 41922, 47800, 47824, 49204, 57672, 57124, 56650, 68932, 65748, 68928, 79272, 78344, 80652, 91660, 92852, 91500, 108840, 104980, 109336, 126256, 121320, 126490, 141612, 143402, 142816, 167800]]
[85, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 0, 0, 0, 4, 0, 2, 2, 4, 0, 2, 12, 4, 8, 4, 2, 12, 0, 0, 4, 4, 8, 0, 4, 0, 0, 6, 4, 16, 0, 0, 12, 4, 0, 0, 6, 12, 8, 0, 6, 0, 0, 0, 12, 8, 0, 4, 0, 8, 0, 0, 4, 12, 8, 2, 0, 12, 0, 2, 12, 4, 16, 4, 12, 8, 0, 0, 12, 8, 0, 2, 14, 8, 0, 12, 2, 24, 8, 4, 24, 4, 8, 8, 4, 16, 0, 4, 12, 28, 8, 2]]
[86, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 0, 2, 8, 4, 0, 6, 0, 4, 0, 0, 4, 0, 6, 8, 4, 8, 4, 4, 10, 2, 12, 12, 0, 16, 8, 0, 8, 0, 8, 8, 12, 8, 0, 2, 8, 8, 12, 8, 0, 16, 0, 6, 4, 0, 8, 20, 8, 0, 12, 0, 18, 4, 4, 8, 0, 14, 12, 8, 12, 4, 8, 12, 4, 20, 12, 4, 28, 10, 12, 18]]
[87, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 0, 0, 4, 0, 4, 0, 0, 0, 2, 0, 2, 12, 2, 4, 4, 4, 12, 0, 0, 14, 4, 4, 4, 0, 12, 8, 4, 0, 12, 0, 0, 14, 6, 8, 0, 12, 0, 4, 0, 4, 28, 0, 0, 8, 4, 0, 4, 6, 12, 8, 4, 8, 0, 0, 0, 8, 4, 0, 2, 12, 12, 12, 4, 0, 26, 0, 0, 12, 0, 8, 2, 4, 0, 12, 20, 8, 16, 8, 0, 12, 4, 0, 12, 14]]
[88, [1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 14, 20, 24, 24, 32, 32, 36, 42, 36, 44, 56, 50, 60, 76, 70, 84, 96, 88, 88, 104, 100, 112, 124, 124, 160, 160, 156, 184, 192, 172, 220, 216, 204, 244, 276, 296, 292, 336, 322, 350, 344, 368, 396, 392, 412, 472, 488, 460, 548, 548, 528, 520, 624, 552, 592, 680, 684, 744, 736, 792, 812, 828, 780, 940, 868, 880, 1016, 1096, 1072, 1136, 1306, 1164, 1220, 1224, 1312, 1312, 1368, 1448, 1532, 1596, 1632, 1764, 1728, 1632, 1680, 1912, 1692, 1842, 2086, 2040]]
[89, [1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 0, 0, 0, 0, 4, 0, 2]]
[90, [1, 2, 2, 6, 6, 6, 18, 12, 18, 40, 26, 52, 74, 48, 92, 118, 102, 168, 200, 184, 278, 332, 292, 384, 498, 470, 640, 798, 636, 888, 1122, 936, 1250, 1520, 1356, 1884, 2280, 1760, 2280, 2884, 2498, 3332, 3904, 3184, 4324, 5288, 4160, 5088, 6258, 5578, 7274, 8764, 6728, 8152, 10826, 8596, 10436, 13096, 10380, 13972, 17338, 12644, 15128, 19408, 16214, 20248, 24952, 19304, 23548, 30804, 23452, 26616, 34904, 28036, 35000, 44998, 33000, 38104, 50492, 39784, 46134, 60644, 46864, 55496, 74608, 54440, 61264, 81364, 62972, 76300, 99816, 74752, 84592, 112360, 87456, 96536, 128578, 100204, 113066, 157856, 115814]]
[91, [1, 2, 0, 0, 2, 0, 0, 2, 4, 2, 0, 4, 0, 2, 4, 0, 6, 4, 0, 0, 4, 8, 4, 4, 8, 2, 0, 0, 2, 16, 0, 0, 8, 0, 0, 0, 10, 4, 4, 0, 0, 4, 8, 4, 4, 16, 0, 0, 0, 6, 8, 0, 2, 8, 0, 0, 16, 8, 0, 4, 8, 4, 4, 10, 10, 0, 8, 4, 12, 8, 0, 4, 4, 0, 0, 8, 4, 28, 0, 4, 12, 10, 0, 0, 24, 8, 0, 0, 12, 8, 8, 2, 16, 0, 4, 12, 8, 0, 4, 12, 6]]
[92, [1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 12, 0, 8, 12, 8, 10, 12, 8, 8, 24, 10, 12, 18, 16, 24, 24, 20, 16, 28, 18, 32, 24, 24, 36, 20, 40, 32, 40, 28, 40, 36, 24, 68, 18, 36, 56, 42, 50, 48, 48, 28, 76, 48, 48, 56, 56, 60, 56, 84, 40, 88, 48, 64, 72, 60, 104, 36, 104, 92, 98, 100, 72, 108, 80, 136, 84, 80, 104, 114, 128, 92, 136, 88, 152, 104, 120, 120, 128, 192, 84, 192, 128, 152, 172, 152, 154, 124, 212]]
[93, [1, 2, 0, 2, 6, 0, 0, 4, 0, 2, 0, 0, 6, 4, 0, 0, 6, 0, 0, 4, 0, 4, 0, 0, 0, 2, 0, 2, 12, 0, 0, 6, 4, 0, 4, 12, 6, 4, 8, 4, 4, 0, 0, 16, 8, 0, 0, 12, 6, 6, 8, 0, 20, 0, 0, 0, 4, 4, 4, 24, 0, 4, 8, 4, 6, 0, 0, 16, 8, 0, 8, 0, 0, 4, 8, 2, 12, 0, 0, 16, 12, 2, 0, 24, 12, 0, 0, 0, 8, 0, 0, 8, 8, 6, 12, 12, 4, 16, 8, 0, 14]]
[94, [1, 2, 2, 4, 2, 0, 4, 0, 2, 6, 0, 4, 4, 0, 0, 0, 2, 4, 6, 4, 0, 0, 4, 0, 4, 2, 0, 8, 0, 0, 0, 0, 2, 8, 4, 0, 6, 0, 4, 0, 0, 4, 0, 4, 4, 0, 0, 2, 8, 6, 10, 12, 0, 8, 8, 4, 12, 8, 8, 12, 0, 0, 0, 4, 10, 12, 16, 4, 4, 8, 0, 8, 10, 4, 16, 4, 4, 0, 0, 4, 16, 18, 4, 16, 0, 8, 4, 0, 12, 4, 8, 8, 0, 0, 2, 12, 12, 16, 22, 12, 10]]
[95, [1, 2, 0, 0, 2, 2, 4, 0, 0, 6, 0, 0, 0, 0, 4, 0, 2, 0, 0, 2, 6, 8, 0, 4, 8, 10, 0, 0, 12, 4, 4, 0, 0, 8, 0, 4, 6, 0, 0, 4, 16, 4, 0, 8, 4, 6, 4, 0, 8, 14, 0, 0, 0, 0, 8, 12, 4, 0, 0, 0, 8, 4, 0, 0, 14, 8, 0, 0, 12, 8, 4, 0, 0, 16, 0, 8, 2, 4, 0, 0, 14, 14, 8, 4, 8, 12, 4, 0, 16, 12, 8, 0, 4, 0, 4, 2, 12, 16, 0, 8, 34]]
[96, [1, 2, 2, 6, 8, 8, 18, 20, 20, 38, 44, 44, 72, 84, 80, 128, 146, 136, 206, 232, 224, 324, 356, 344, 492, 530, 516, 706, 752, 744, 1004, 1068, 1034, 1392, 1468, 1428, 1880, 1956, 1924, 2500, 2600, 2548, 3264, 3392, 3344, 4216, 4376, 4288, 5382, 5590, 5462, 6824, 7056, 6912, 8518, 8808, 8624, 10540, 10908, 10688, 12992, 13444, 13128, 15820, 16398, 16000, 19244, 19848, 19344, 23200, 23904, 23344, 27700, 28572, 27908, 32998, 34000, 33056, 39060, 40236, 39172, 45982, 47244, 45956, 53840, 55296, 53788, 62816, 64400, 62752, 72868, 74712, 72640, 84260, 86304, 83888, 97238, 99216, 96458, 111472, 113752]]

2018年10月7日日曜日

181007(2)

Ruby


Ramanujan's 54 universal quaternary quadratic forms(2)

Conway–Schneeberger Fifteen Theorem を使えば、
1から15までの表し方が存在していれば、16以上も表し方が存在。
このことを利用して、コードをシンプルにしてみた。

def s(k, n)
  s = 0
  (1..n).each{|i| s += i if n % i == 0 && i % k == 0}
  s
end

def A(ary, n)
  a_ary = [1]
  a = [0] + (1..n).map{|i| ary.inject(0){|s, j| s + j[1] * s(j[0], i)}}
  (1..n).each{|i| a_ary << (1..i).inject(0){|s, j| s - a[j] * a_ary[-j]} / i}
  a_ary
end

def B(a, n)
  ary = []
  a.each{|i|
    ary << [2 * i, 5]
    ary << [i, -2]
    ary << [4 * i, -2]
  }
  A(ary, n)
end

n = 100
s = 0
(1..20).to_a.repeated_combination(3){|a|
  a.unshift(1)
  if B(a, 15).select{|i| i == 0} == []
    s += 1
    p [s, a]
    p B(a, n)
  end
}

出力結果
[1, [1, 1, 1, 1]]
[1, 8, 24, 32, 24, 48, 96, 64, 24, 104, 144, 96, 96, 112, 192, 192, 24, 144, 312, 160, 144, 256, 288, 192, 96, 248, 336, 320, 192, 240, 576, 256, 24, 384, 432, 384, 312, 304, 480, 448, 144, 336, 768, 352, 288, 624, 576, 384, 96, 456, 744, 576, 336, 432, 960, 576, 192, 640, 720, 480, 576, 496, 768, 832, 24, 672, 1152, 544, 432, 768, 1152, 576, 312, 592, 912, 992, 480, 768, 1344, 640, 144, 968, 1008, 672, 768, 864, 1056, 960, 288, 720, 1872, 896, 576, 1024, 1152, 960, 96, 784, 1368, 1248, 744]
[2, [1, 1, 1, 2]]
[1, 6, 14, 20, 30, 40, 36, 48, 62, 42, 72, 100, 68, 120, 112, 48, 126, 108, 98, 180, 136, 160, 180, 144, 132, 126, 216, 200, 240, 280, 112, 192, 254, 120, 252, 320, 210, 360, 324, 144, 264, 252, 288, 420, 340, 280, 336, 288, 260, 342, 294, 360, 408, 520, 360, 240, 496, 216, 504, 580, 240, 600, 448, 336, 510, 288, 280, 660, 540, 480, 576, 432, 434, 444, 648, 420, 612, 800, 336, 480, 520, 366, 588, 820, 544, 720, 756, 336, 660, 540, 504, 960, 720, 640, 672, 432, 516, 588, 798, 700, 630]
[3, [1, 1, 1, 3]]
[1, 6, 12, 10, 18, 48, 40, 12, 60, 78, 24, 48, 70, 84, 120, 32, 66, 192, 84, 36, 144, 180, 120, 96, 136, 126, 168, 82, 84, 336, 200, 60, 252, 288, 96, 96, 234, 228, 360, 140, 120, 480, 144, 84, 336, 336, 240, 192, 310, 258, 252, 128, 252, 624, 400, 96, 408, 540, 168, 240, 224, 372, 600, 156, 258, 672, 360, 132, 576, 576, 240, 288, 420, 444, 456, 210, 252, 864, 560, 156, 528, 726, 240, 336, 540, 384, 840, 224, 408, 1056, 312, 168, 672, 900, 480, 288, 520, 588, 516, 336, 378]
[4, [1, 1, 1, 4]]
[1, 6, 12, 8, 8, 36, 48, 16, 24, 78, 72, 24, 32, 84, 96, 48, 24, 108, 156, 40, 48, 192, 144, 48, 96, 186, 168, 80, 64, 180, 288, 64, 24, 288, 216, 96, 104, 228, 240, 112, 144, 252, 384, 88, 96, 468, 288, 96, 96, 342, 372, 144, 112, 324, 480, 144, 192, 480, 360, 120, 192, 372, 384, 208, 24, 504, 576, 136, 144, 576, 576, 144, 312, 444, 456, 248, 160, 576, 672, 160, 144, 726, 504, 168, 256, 648, 528, 240, 288, 540, 936, 224, 192, 768, 576, 240, 96, 588, 684, 312, 248]
[5, [1, 1, 1, 5]]
[1, 6, 12, 8, 6, 26, 36, 24, 28, 42, 72, 72, 8, 48, 108, 48, 54, 64, 84, 120, 26, 72, 144, 88, 84, 126, 216, 80, 24, 180, 156, 192, 92, 96, 288, 144, 42, 144, 240, 144, 168, 252, 144, 168, 72, 182, 396, 184, 72, 258, 372, 192, 48, 208, 360, 312, 252, 160, 360, 360, 48, 372, 384, 168, 246, 288, 432, 264, 64, 264, 468, 432, 196, 288, 648, 248, 120, 288, 288, 480, 234, 366, 504, 328, 72, 384, 756, 240, 336, 540, 504, 432, 88, 256, 828, 520, 276, 384, 516, 504, 126]
[6, [1, 1, 1, 6]]
[1, 6, 12, 8, 6, 24, 26, 12, 36, 46, 36, 72, 56, 24, 72, 60, 54, 96, 52, 72, 120, 48, 36, 96, 98, 90, 144, 144, 60, 120, 144, 60, 180, 172, 96, 240, 142, 72, 192, 96, 132, 288, 180, 120, 216, 168, 144, 192, 152, 162, 276, 256, 120, 216, 210, 120, 264, 256, 180, 360, 300, 120, 360, 156, 150, 480, 208, 264, 384, 240, 168, 288, 316, 252, 432, 440, 216, 240, 360, 156, 504, 374, 144, 552, 240, 192, 384, 300, 228, 576, 468, 240, 480, 240, 288, 480, 434, 300, 420, 440, 378]
[7, [1, 1, 1, 7]]
[1, 6, 12, 8, 6, 24, 24, 2, 24, 54, 40, 36, 56, 72, 48, 24, 66, 96, 84, 40, 72, 144, 24, 12, 120, 102, 120, 80, 98, 132, 72, 64, 84, 240, 160, 48, 198, 180, 120, 72, 136, 240, 240, 84, 84, 312, 120, 96, 248, 246, 180, 96, 216, 228, 240, 80, 156, 360, 216, 120, 168, 360, 192, 194, 174, 216, 400, 36, 288, 528, 144, 84, 336, 432, 312, 168, 280, 396, 216, 180, 264, 558, 400, 168, 432, 288, 168, 240, 288, 528, 520, 144, 252, 576, 288, 120, 504, 576, 396, 132, 246]
[8, [1, 1, 2, 2]]
[1, 4, 8, 16, 24, 24, 32, 32, 24, 52, 48, 48, 96, 56, 64, 96, 24, 72, 104, 80, 144, 128, 96, 96, 96, 124, 112, 160, 192, 120, 192, 128, 24, 192, 144, 192, 312, 152, 160, 224, 144, 168, 256, 176, 288, 312, 192, 192, 96, 228, 248, 288, 336, 216, 320, 288, 192, 320, 240, 240, 576, 248, 256, 416, 24, 336, 384, 272, 432, 384, 384, 288, 312, 296, 304, 496, 480, 384, 448, 320, 144, 484, 336, 336, 768, 432, 352, 480, 288, 360, 624, 448, 576, 512, 384, 480, 96, 392, 456, 624, 744]
[9, [1, 1, 2, 3]]
[1, 4, 6, 10, 20, 20, 24, 40, 22, 28, 56, 20, 50, 80, 28, 80, 84, 32, 78, 80, 68, 100, 120, 80, 88, 124, 56, 82, 136, 100, 140, 200, 86, 80, 192, 72, 140, 240, 120, 200, 248, 80, 112, 176, 100, 260, 224, 160, 210, 172, 186, 128, 272, 180, 240, 400, 124, 200, 280, 116, 272, 400, 140, 280, 340, 144, 300, 272, 160, 320, 432, 240, 286, 296, 168, 310, 400, 200, 224, 520, 260, 244, 480, 164, 340, 640, 264, 400, 440, 176, 392, 288, 272, 500, 448, 400, 344, 392, 258, 260, 620]
[10, [1, 1, 2, 4]]
[1, 4, 6, 8, 14, 16, 20, 32, 30, 28, 40, 40, 36, 48, 48, 32, 62, 72, 42, 72, 72, 64, 100, 96, 68, 84, 120, 80, 112, 112, 48, 128, 126, 80, 108, 128, 98, 144, 180, 96, 136, 168, 160, 168, 180, 112, 144, 192, 132, 228, 126, 144, 216, 208, 200, 160, 240, 144, 280, 232, 112, 240, 192, 224, 254, 192, 120, 264, 252, 192, 320, 288, 210, 296, 360, 168, 324, 320, 144, 320, 264, 244, 252, 328, 288, 288, 420, 224, 340, 360, 280, 384, 336, 256, 288, 288, 260, 392, 342, 280, 294]
[11, [1, 1, 2, 5]]
[1, 4, 6, 8, 12, 10, 16, 28, 22, 36, 40, 24, 56, 36, 24, 64, 28, 64, 78, 24, 58, 48, 68, 92, 80, 92, 72, 112, 92, 48, 104, 96, 118, 176, 64, 48, 124, 84, 148, 160, 104, 120, 176, 120, 72, 146, 88, 204, 216, 124, 126, 96, 180, 148, 224, 188, 120, 304, 216, 120, 224, 96, 192, 332, 156, 240, 160, 168, 224, 144, 196, 192, 350, 304, 168, 232, 168, 168, 336, 224, 234, 340, 252, 200, 192, 192, 240, 480, 292, 264, 392, 144, 316, 320, 184, 332, 304, 416, 258, 216, 308]
[12, [1, 1, 2, 6]]
[1, 4, 6, 8, 12, 8, 10, 24, 18, 28, 48, 24, 40, 56, 12, 40, 60, 32, 78, 72, 24, 48, 48, 48, 70, 84, 84, 80, 120, 56, 32, 120, 66, 120, 192, 48, 84, 152, 36, 112, 144, 80, 180, 168, 120, 104, 96, 96, 136, 172, 126, 160, 168, 104, 82, 192, 84, 144, 336, 120, 200, 248, 60, 168, 252, 112, 288, 264, 96, 240, 96, 144, 234, 296, 228, 168, 360, 144, 140, 312, 120, 244, 480, 168, 144, 256, 84, 280, 336, 176, 336, 336, 240, 240, 192, 144, 310, 392, 258, 312, 252]
[13, [1, 1, 2, 7]]
[1, 4, 6, 8, 12, 8, 8, 18, 14, 24, 40, 32, 40, 40, 32, 28, 36, 64, 46, 72, 72, 16, 56, 40, 40, 88, 72, 80, 82, 64, 44, 64, 86, 96, 128, 144, 64, 64, 136, 44, 136, 160, 80, 144, 128, 120, 92, 128, 104, 164, 158, 96, 168, 80, 144, 160, 168, 108, 104, 232, 108, 168, 192, 82, 156, 252, 160, 208, 192, 80, 272, 132, 134, 288, 152, 248, 232, 200, 124, 148, 328, 192, 288, 328, 144, 160, 264, 160, 248, 352, 216, 336, 184, 128, 256, 188, 232, 384, 278, 240, 320]
[14, [1, 1, 2, 8]]
[1, 4, 6, 8, 12, 8, 8, 16, 8, 20, 36, 24, 48, 40, 16, 48, 24, 40, 78, 40, 72, 64, 24, 48, 32, 60, 84, 80, 96, 40, 48, 64, 24, 96, 108, 96, 156, 72, 40, 112, 48, 104, 192, 88, 144, 168, 48, 96, 96, 100, 186, 144, 168, 136, 80, 144, 64, 160, 180, 120, 288, 104, 64, 208, 24, 144, 288, 136, 216, 192, 96, 144, 104, 136, 228, 248, 240, 192, 112, 160, 144, 260, 252, 168, 384, 208, 88, 240, 96, 200, 468, 224, 288, 256, 96, 240, 96, 232, 342, 312, 372]
[15, [1, 1, 2, 9]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 14, 32, 20, 40, 48, 16, 32, 44, 28, 54, 72, 40, 64, 72, 16, 40, 52, 56, 92, 96, 56, 32, 80, 38, 48, 104, 64, 102, 144, 52, 32, 112, 44, 128, 168, 68, 136, 128, 96, 104, 132, 62, 144, 176, 104, 172, 96, 112, 112, 192, 116, 96, 240, 96, 176, 204, 32, 112, 264, 108, 192, 224, 48, 198, 168, 104, 168, 232, 160, 160, 208, 104, 178, 232, 164, 192, 288, 164, 96, 264, 140, 232, 384, 144, 256, 288, 112, 232, 232, 150, 340, 252]
[16, [1, 1, 2, 10]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 12, 26, 16, 36, 40, 24, 32, 28, 48, 42, 48, 72, 32, 72, 64, 8, 60, 48, 64, 108, 56, 48, 64, 54, 64, 64, 72, 84, 104, 120, 32, 26, 88, 72, 120, 144, 88, 88, 144, 84, 92, 126, 64, 216, 152, 80, 160, 24, 128, 180, 144, 156, 104, 192, 128, 92, 168, 96, 184, 288, 96, 144, 160, 42, 224, 144, 104, 240, 224, 144, 128, 168, 100, 252, 248, 144, 208, 168, 176, 72, 168, 182, 160, 396, 192, 184, 224, 72, 272, 258, 176, 372]
[17, [1, 1, 2, 11]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 12, 24, 10, 32, 36, 16, 40, 28, 32, 62, 36, 48, 64, 40, 64, 56, 28, 56, 56, 80, 68, 48, 80, 38, 80, 80, 32, 92, 88, 88, 112, 40, 16, 112, 52, 90, 144, 44, 120, 128, 100, 78, 96, 116, 144, 160, 112, 128, 80, 136, 104, 144, 132, 92, 240, 108, 112, 192, 88, 128, 232, 144, 176, 206, 80, 120, 128, 116, 192, 208, 160, 160, 212, 176, 132, 224, 128, 200, 272, 136, 112, 136, 160, 168, 312, 140, 144, 248, 176, 214, 186, 156]
[18, [1, 1, 2, 12]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 12, 24, 8, 26, 32, 12, 32, 36, 32, 46, 56, 36, 40, 72, 32, 56, 76, 24, 64, 72, 40, 60, 80, 54, 64, 96, 48, 52, 96, 72, 80, 120, 32, 48, 104, 36, 104, 96, 64, 98, 124, 90, 64, 144, 72, 144, 160, 60, 136, 120, 104, 144, 160, 60, 112, 180, 96, 172, 200, 96, 128, 240, 96, 142, 200, 72, 200, 192, 80, 96, 208, 132, 164, 288, 104, 180, 256, 120, 160, 216, 128, 168, 192, 144, 200, 192, 160, 152, 248, 162, 168, 276]
[19, [1, 1, 2, 13]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 12, 24, 8, 24, 26, 8, 28, 28, 40, 46, 40, 56, 28, 48, 64, 24, 76, 72, 32, 80, 32, 32, 92, 54, 80, 80, 64, 68, 56, 80, 64, 88, 112, 64, 40, 88, 52, 64, 128, 56, 108, 110, 64, 106, 80, 76, 160, 104, 96, 168, 56, 124, 112, 120, 124, 92, 208, 96, 152, 168, 64, 172, 208, 126, 192, 152, 72, 184, 112, 80, 192, 232, 148, 160, 200, 92, 172, 248, 128, 176, 256, 184, 80, 160, 128, 168, 288, 136, 256, 150, 152, 228]
[20, [1, 1, 2, 14]]
[1, 4, 6, 8, 12, 8, 8, 16, 6, 12, 24, 8, 24, 24, 2, 24, 24, 32, 54, 40, 40, 48, 36, 40, 56, 44, 72, 80, 48, 40, 24, 64, 66, 80, 96, 48, 84, 72, 40, 72, 72, 80, 144, 56, 24, 104, 12, 96, 120, 68, 102, 96, 120, 56, 80, 80, 98, 120, 132, 120, 72, 120, 64, 152, 84, 72, 240, 120, 160, 176, 48, 112, 198, 144, 180, 168, 120, 160, 72, 96, 136, 204, 240, 168, 240, 96, 84, 240, 84, 176, 312, 144, 120, 192, 96, 120, 248, 192, 246, 216, 180]
[21, [1, 1, 3, 3]]
[1, 4, 4, 4, 20, 24, 4, 32, 52, 4, 24, 48, 20, 56, 32, 24, 116, 72, 4, 80, 120, 32, 48, 96, 52, 124, 56, 4, 160, 120, 24, 128, 244, 48, 72, 192, 20, 152, 80, 56, 312, 168, 32, 176, 240, 24, 96, 192, 116, 228, 124, 72, 280, 216, 4, 288, 416, 80, 120, 240, 120, 248, 128, 32, 500, 336, 48, 272, 360, 96, 192, 288, 52, 296, 152, 124, 400, 384, 56, 320, 696, 4, 168, 336, 160, 432, 176, 120, 624, 360, 24, 448, 480, 128, 192, 480, 244, 392, 228, 48, 620]
[22, [1, 1, 3, 4]]
[1, 4, 4, 2, 14, 24, 8, 12, 44, 36, 8, 24, 50, 40, 24, 16, 50, 96, 28, 12, 112, 96, 24, 48, 104, 68, 56, 50, 60, 168, 40, 12, 188, 144, 32, 48, 182, 104, 72, 76, 88, 240, 48, 60, 240, 168, 48, 96, 230, 124, 84, 64, 196, 312, 80, 48, 312, 264, 56, 120, 160, 200, 120, 60, 194, 336, 120, 60, 448, 288, 48, 144, 308, 232, 152, 90, 180, 432, 112, 108, 400, 372, 80, 168, 420, 192, 168, 112, 312, 528, 104, 72, 480, 432, 96, 144, 392, 280, 172, 168, 294]
[23, [1, 1, 3, 5]]
[1, 4, 4, 2, 12, 18, 8, 16, 24, 28, 40, 8, 26, 72, 16, 16, 44, 44, 68, 24, 34, 80, 72, 28, 40, 124, 40, 50, 112, 56, 80, 40, 76, 144, 120, 32, 84, 216, 24, 40, 136, 80, 160, 88, 56, 154, 88, 28, 158, 228, 100, 48, 216, 172, 80, 104, 80, 300, 280, 40, 112, 248, 120, 112, 172, 144, 200, 136, 172, 176, 208, 48, 200, 432, 120, 90, 168, 288, 144, 104, 118, 244, 400, 76, 240, 432, 88, 112, 360, 176, 280, 128, 172, 420, 184, 108, 168, 576, 292, 104, 372]
[24, [1, 1, 3, 6]]
[1, 4, 4, 2, 12, 16, 2, 16, 28, 8, 32, 40, 10, 48, 48, 8, 44, 40, 24, 72, 48, 16, 72, 64, 10, 52, 80, 38, 96, 112, 8, 80, 108, 12, 104, 128, 48, 144, 136, 8, 112, 104, 32, 168, 136, 64, 128, 96, 26, 132, 116, 36, 176, 208, 70, 96, 192, 28, 192, 232, 24, 240, 176, 80, 204, 128, 28, 264, 216, 48, 224, 192, 96, 168, 272, 42, 232, 320, 40, 208, 208, 76, 232, 328, 48, 288, 296, 24, 264, 200, 112, 384, 288, 64, 288, 160, 58, 232, 324, 160, 252]
[25, [1, 2, 2, 2]]
[1, 2, 6, 12, 14, 24, 20, 16, 30, 14, 40, 60, 36, 72, 48, 16, 62, 36, 42, 108, 72, 96, 100, 48, 68, 42, 120, 120, 112, 168, 48, 64, 126, 40, 108, 192, 98, 216, 180, 48, 136, 84, 160, 252, 180, 168, 144, 96, 132, 114, 126, 216, 216, 312, 200, 80, 240, 72, 280, 348, 112, 360, 192, 112, 254, 96, 120, 396, 252, 288, 320, 144, 210, 148, 360, 252, 324, 480, 144, 160, 264, 122, 252, 492, 288, 432, 420, 112, 340, 180, 280, 576, 336, 384, 288, 144, 260, 196, 342, 420, 294]
[26, [1, 2, 2, 3]]
[1, 2, 4, 10, 10, 16, 24, 12, 28, 26, 8, 48, 30, 28, 72, 32, 34, 64, 28, 36, 80, 60, 72, 96, 72, 42, 56, 82, 36, 112, 120, 60, 124, 96, 32, 96, 130, 76, 216, 140, 56, 160, 48, 84, 144, 112, 144, 192, 150, 86, 84, 128, 140, 208, 240, 96, 216, 180, 56, 240, 96, 124, 360, 156, 130, 224, 120, 132, 320, 192, 144, 288, 196, 148, 152, 210, 108, 288, 336, 156, 272, 242, 80, 336, 300, 128, 504, 224, 216, 352, 104, 168, 288, 300, 288, 288, 264, 196, 172, 336, 210]
[27, [1, 2, 2, 4]]
[1, 2, 4, 8, 8, 12, 16, 16, 24, 26, 24, 24, 32, 28, 32, 48, 24, 36, 52, 40, 48, 64, 48, 48, 96, 62, 56, 80, 64, 60, 96, 64, 24, 96, 72, 96, 104, 76, 80, 112, 144, 84, 128, 88, 96, 156, 96, 96, 96, 114, 124, 144, 112, 108, 160, 144, 192, 160, 120, 120, 192, 124, 128, 208, 24, 168, 192, 136, 144, 192, 192, 144, 312, 148, 152, 248, 160, 192, 224, 160, 144, 242, 168, 168, 256, 216, 176, 240, 288, 180, 312, 224, 192, 256, 192, 240, 96, 196, 228, 312, 248]
[28, [1, 2, 2, 5]]
[1, 2, 4, 8, 6, 10, 12, 8, 28, 22, 24, 40, 8, 32, 36, 16, 54, 32, 28, 56, 26, 32, 48, 40, 84, 74, 72, 48, 24, 92, 52, 96, 92, 32, 96, 80, 42, 64, 80, 80, 168, 124, 48, 72, 72, 94, 132, 104, 72, 126, 124, 96, 48, 96, 120, 168, 252, 96, 120, 168, 48, 196, 128, 88, 246, 128, 144, 104, 64, 128, 156, 208, 196, 160, 216, 120, 120, 160, 96, 256, 234, 194, 168, 168, 72, 192, 252, 112, 336, 276, 168, 208, 88, 128, 276, 248, 276, 160, 172, 248, 126]
[29, [1, 2, 2, 6]]
[1, 2, 4, 8, 6, 8, 10, 4, 20, 26, 20, 40, 24, 8, 40, 20, 22, 64, 28, 40, 56, 16, 20, 32, 50, 62, 80, 80, 28, 40, 80, 20, 84, 100, 32, 144, 78, 24, 80, 32, 68, 160, 100, 88, 120, 56, 80, 64, 88, 86, 124, 160, 56, 72, 82, 40, 136, 160, 100, 232, 140, 40, 200, 52, 86, 288, 80, 136, 192, 80, 72, 96, 140, 148, 240, 248, 120, 80, 200, 52, 248, 242, 80, 328, 112, 64, 176, 100, 100, 352, 260, 144, 224, 80, 160, 160, 210, 196, 172, 280, 186]
[30, [1, 2, 2, 7]]
[1, 2, 4, 8, 6, 8, 8, 2, 16, 18, 24, 36, 24, 24, 16, 24, 26, 32, 60, 40, 40, 48, 8, 12, 56, 34, 72, 80, 34, 44, 24, 64, 44, 80, 96, 48, 102, 60, 40, 72, 72, 80, 144, 84, 52, 104, 40, 96, 120, 82, 92, 96, 120, 76, 80, 80, 84, 120, 136, 120, 72, 120, 64, 194, 102, 72, 240, 36, 160, 176, 48, 84, 168, 144, 168, 168, 120, 132, 72, 180, 136, 186, 240, 168, 240, 96, 56, 240, 112, 176, 312, 144, 92, 192, 96, 120, 248, 192, 260, 132, 150]
[31, [1, 2, 3, 3]]
[1, 2, 2, 8, 10, 8, 24, 16, 10, 38, 8, 12, 48, 8, 32, 64, 26, 36, 70, 28, 24, 80, 28, 48, 96, 42, 40, 76, 48, 24, 112, 64, 58, 160, 68, 32, 126, 56, 44, 192, 56, 84, 176, 44, 60, 88, 80, 96, 208, 114, 74, 176, 72, 72, 172, 80, 112, 288, 88, 76, 224, 72, 112, 304, 90, 96, 288, 60, 116, 224, 96, 144, 254, 148, 88, 200, 108, 96, 352, 160, 88, 362, 148, 124, 384, 80, 124, 448, 124, 180, 216, 128, 176, 304, 192, 144, 400, 196, 210, 228, 146]
[32, [1, 2, 3, 4]]
[1, 2, 2, 6, 8, 8, 16, 16, 14, 22, 24, 16, 22, 32, 12, 32, 44, 16, 42, 52, 36, 40, 64, 32, 40, 86, 24, 50, 72, 40, 60, 80, 38, 48, 112, 48, 72, 96, 64, 80, 120, 64, 48, 124, 52, 104, 96, 64, 106, 110, 110, 96, 144, 72, 128, 160, 60, 132, 120, 64, 144, 160, 60, 112, 164, 96, 164, 172, 64, 128, 240, 96, 150, 196, 72, 210, 184, 80, 96, 208, 132, 162, 256, 112, 180, 256, 160, 160, 232, 112, 168, 192, 144, 200, 192, 160, 184, 268, 134, 176, 296]
[33, [1, 2, 3, 5]]
[1, 2, 2, 6, 6, 6, 16, 8, 14, 26, 8, 32, 26, 8, 40, 16, 22, 40, 22, 32, 46, 40, 24, 48, 40, 42, 72, 50, 32, 64, 56, 28, 74, 48, 60, 112, 78, 24, 72, 76, 40, 144, 48, 48, 120, 50, 52, 48, 70, 98, 150, 128, 40, 84, 128, 52, 176, 120, 56, 208, 96, 72, 92, 72, 102, 192, 156, 80, 120, 96, 104, 160, 106, 80, 184, 178, 120, 112, 96, 76, 210, 210, 80, 196, 208, 80, 256, 80, 72, 304, 136, 208, 136, 132, 116, 160, 184, 112, 258, 256, 126]
[34, [1, 2, 3, 6]]
[1, 2, 2, 6, 6, 4, 14, 8, 6, 26, 12, 16, 42, 12, 16, 44, 6, 20, 50, 16, 36, 56, 24, 16, 42, 30, 28, 78, 48, 36, 84, 40, 6, 80, 36, 48, 150, 44, 40, 100, 36, 36, 112, 48, 72, 148, 48, 48, 42, 50, 62, 124, 84, 52, 158, 64, 48, 144, 60, 64, 252, 60, 64, 200, 6, 88, 168, 64, 108, 176, 96, 80, 150, 84, 76, 218, 120, 96, 196, 72, 36, 242, 84, 80, 336, 104, 88, 204, 72, 84, 300, 112, 144, 216, 96, 128, 42, 100, 114, 304, 186]
[35, [1, 2, 3, 7]]
[1, 2, 2, 6, 6, 4, 12, 6, 6, 18, 12, 20, 26, 28, 20, 20, 34, 4, 30, 44, 20, 48, 44, 20, 20, 38, 16, 42, 62, 40, 56, 48, 34, 24, 72, 40, 70, 112, 36, 56, 68, 44, 40, 124, 60, 60, 124, 24, 66, 62, 54, 96, 92, 80, 64, 80, 64, 88, 136, 64, 76, 140, 52, 70, 166, 44, 104, 196, 44, 104, 88, 56, 122, 136, 96, 118, 132, 108, 156, 124, 60, 102, 208, 96, 160, 208, 92, 96, 228, 68, 76, 248, 92, 224, 152, 76, 108, 104, 126, 236, 178]
[36, [1, 2, 3, 8]]
[1, 2, 2, 6, 6, 4, 12, 4, 4, 18, 4, 20, 30, 12, 36, 24, 10, 32, 14, 24, 48, 32, 36, 40, 24, 18, 28, 34, 36, 60, 60, 28, 28, 40, 16, 56, 78, 44, 108, 68, 8, 72, 24, 40, 144, 60, 72, 112, 30, 46, 42, 64, 84, 116, 120, 40, 72, 84, 28, 116, 96, 60, 180, 68, 34, 120, 60, 64, 192, 80, 72, 152, 28, 68, 76, 102, 108, 136, 168, 92, 80, 122, 40, 172, 180, 64, 252, 104, 72, 200, 52, 88, 288, 152, 144, 120, 72, 108, 86, 172, 126]
[37, [1, 2, 3, 9]]
[1, 2, 2, 6, 6, 4, 12, 4, 2, 16, 4, 12, 30, 16, 20, 40, 14, 8, 42, 8, 28, 60, 20, 32, 44, 22, 8, 46, 28, 36, 84, 36, 18, 40, 32, 8, 80, 40, 40, 120, 36, 24, 56, 40, 44, 140, 48, 48, 126, 22, 62, 64, 40, 68, 132, 72, 52, 120, 52, 60, 136, 56, 36, 160, 46, 64, 180, 40, 48, 160, 72, 64, 154, 44, 56, 186, 56, 56, 112, 84, 108, 136, 80, 28, 204, 104, 88, 200, 84, 72, 224, 64, 80, 300, 64, 144, 172, 76, 86, 140, 106]
[38, [1, 2, 3, 10]]
[1, 2, 2, 6, 6, 4, 12, 4, 2, 14, 2, 12, 22, 16, 24, 24, 30, 12, 18, 36, 12, 40, 48, 16, 36, 42, 12, 26, 40, 28, 60, 60, 26, 32, 36, 28, 42, 48, 36, 60, 74, 40, 8, 52, 60, 52, 132, 40, 46, 114, 14, 72, 48, 36, 120, 96, 72, 60, 64, 60, 100, 124, 60, 68, 126, 52, 60, 124, 36, 88, 192, 72, 42, 96, 36, 90, 180, 64, 96, 156, 60, 122, 40, 40, 120, 156, 132, 48, 144, 88, 54, 192, 76, 100, 276, 72, 132, 128, 42, 156, 126]
[39, [1, 2, 4, 4]]
[1, 2, 2, 4, 6, 8, 12, 16, 14, 14, 24, 20, 20, 24, 16, 16, 30, 36, 14, 36, 40, 32, 60, 48, 36, 42, 72, 40, 48, 56, 16, 64, 62, 40, 36, 64, 42, 72, 108, 48, 72, 84, 96, 84, 100, 56, 48, 96, 68, 114, 42, 72, 120, 104, 120, 80, 112, 72, 168, 116, 48, 120, 64, 112, 126, 96, 40, 132, 108, 96, 192, 144, 98, 148, 216, 84, 180, 160, 48, 160, 136, 122, 84, 164, 160, 144, 252, 112, 180, 180, 168, 192, 144, 128, 96, 144, 132, 196, 114, 140, 126]
[40, [1, 2, 4, 5]]
[1, 2, 2, 4, 4, 6, 12, 12, 14, 14, 16, 20, 24, 24, 12, 24, 20, 24, 34, 12, 26, 36, 44, 36, 40, 38, 40, 80, 44, 32, 44, 40, 54, 72, 24, 24, 68, 48, 76, 64, 56, 48, 104, 84, 40, 98, 36, 84, 104, 50, 58, 56, 84, 104, 112, 76, 48, 120, 120, 92, 128, 60, 80, 132, 76, 96, 72, 108, 128, 92, 112, 72, 166, 120, 112, 164, 72, 120, 144, 88, 114, 134, 108, 124, 96, 144, 124, 192, 148, 108, 224, 96, 172, 208, 84, 132, 144, 168, 110, 140, 156]
[41, [1, 2, 4, 6]]
[1, 2, 2, 4, 4, 4, 10, 12, 10, 14, 16, 12, 24, 28, 12, 20, 28, 16, 26, 36, 8, 24, 48, 24, 30, 42, 28, 40, 72, 28, 32, 60, 34, 60, 64, 24, 28, 76, 36, 56, 80, 40, 60, 84, 72, 52, 96, 48, 72, 86, 42, 80, 56, 52, 82, 96, 36, 72, 112, 60, 120, 124, 60, 84, 124, 56, 96, 132, 32, 120, 96, 72, 130, 148, 76, 84, 216, 72, 140, 156, 56, 122, 160, 84, 48, 128, 84, 140, 144, 88, 112, 168, 144, 120, 192, 72, 150, 196, 86, 156, 84]
[42, [1, 2, 4, 7]]
[1, 2, 2, 4, 4, 4, 8, 10, 10, 10, 16, 12, 16, 28, 16, 20, 24, 24, 18, 28, 32, 8, 40, 32, 24, 34, 32, 32, 34, 56, 20, 40, 42, 40, 64, 56, 32, 32, 72, 28, 72, 64, 32, 60, 72, 84, 36, 88, 56, 66, 98, 40, 80, 40, 80, 104, 68, 44, 40, 92, 52, 116, 80, 42, 72, 100, 96, 84, 112, 48, 144, 84, 74, 120, 72, 100, 128, 148, 52, 116, 152, 78, 160, 132, 64, 104, 120, 112, 120, 136, 96, 136, 96, 88, 112, 124, 104, 152, 178, 92, 176]
[43, [1, 2, 4, 8]]
[1, 2, 2, 4, 4, 4, 8, 8, 8, 10, 12, 12, 16, 20, 16, 24, 24, 20, 26, 20, 24, 32, 24, 24, 32, 30, 28, 40, 32, 20, 48, 32, 24, 48, 36, 48, 52, 36, 40, 56, 48, 52, 64, 44, 48, 84, 48, 48, 96, 50, 62, 72, 56, 68, 80, 72, 64, 80, 60, 60, 96, 52, 64, 104, 24, 72, 96, 68, 72, 96, 96, 72, 104, 68, 76, 124, 80, 96, 112, 80, 144, 130, 84, 84, 128, 104, 88, 120, 96, 100, 156, 112, 96, 128, 96, 120, 96, 116, 114, 156, 124]
[44, [1, 2, 4, 9]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 8, 12, 8, 16, 20, 8, 24, 28, 20, 22, 28, 16, 24, 48, 8, 24, 38, 24, 36, 40, 20, 16, 64, 22, 32, 44, 24, 46, 56, 36, 16, 64, 28, 64, 68, 36, 56, 56, 72, 56, 90, 26, 56, 88, 44, 92, 48, 48, 80, 108, 48, 48, 96, 40, 120, 92, 16, 48, 108, 52, 80, 120, 24, 102, 96, 72, 68, 128, 64, 64, 152, 56, 120, 100, 72, 112, 116, 84, 56, 120, 100, 136, 152, 64, 104, 120, 80, 104, 152, 66, 136, 124]
[45, [1, 2, 4, 10]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 10, 8, 12, 20, 8, 16, 28, 24, 22, 24, 24, 16, 40, 32, 8, 30, 32, 32, 36, 28, 16, 32, 54, 32, 32, 36, 28, 52, 56, 16, 26, 44, 32, 60, 48, 44, 40, 72, 84, 46, 74, 32, 72, 76, 48, 80, 24, 64, 92, 72, 52, 52, 96, 64, 92, 84, 32, 92, 96, 48, 80, 80, 42, 112, 64, 52, 80, 112, 80, 64, 168, 50, 124, 124, 48, 104, 72, 88, 72, 84, 94, 80, 132, 96, 104, 112, 72, 136, 126, 88, 124]
[46, [1, 2, 4, 11]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 6, 12, 16, 8, 16, 20, 24, 26, 24, 20, 24, 32, 24, 32, 14, 24, 40, 32, 24, 24, 32, 22, 64, 32, 24, 40, 36, 56, 40, 32, 8, 48, 32, 42, 56, 20, 48, 72, 74, 42, 72, 52, 56, 88, 48, 56, 40, 56, 76, 76, 56, 36, 96, 52, 88, 112, 44, 64, 92, 88, 72, 102, 40, 56, 76, 52, 80, 88, 64, 80, 154, 96, 96, 128, 56, 96, 112, 72, 56, 56, 104, 100, 124, 60, 56, 104, 112, 130, 118, 64]
[47, [1, 2, 4, 12]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 10, 16, 4, 16, 20, 16, 26, 28, 20, 20, 40, 16, 24, 38, 8, 32, 40, 20, 20, 40, 22, 32, 64, 24, 28, 48, 40, 40, 56, 16, 16, 52, 20, 52, 32, 32, 50, 62, 62, 32, 80, 36, 80, 80, 28, 68, 40, 52, 80, 80, 20, 56, 84, 48, 100, 100, 32, 64, 144, 48, 78, 100, 24, 100, 80, 40, 32, 104, 68, 82, 160, 52, 100, 128, 88, 80, 120, 64, 56, 96, 80, 100, 64, 80, 88, 124, 86, 84, 124]
[48, [1, 2, 4, 13]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 14, 4, 12, 20, 16, 18, 28, 24, 20, 36, 24, 16, 30, 32, 16, 32, 28, 16, 36, 30, 32, 32, 56, 28, 36, 52, 24, 56, 40, 24, 20, 40, 32, 32, 48, 40, 42, 50, 56, 42, 64, 52, 64, 48, 40, 80, 28, 60, 80, 52, 52, 44, 80, 40, 108, 88, 32, 100, 80, 70, 80, 96, 36, 88, 68, 32, 80, 112, 58, 64, 148, 44, 116, 120, 56, 88, 104, 104, 40, 96, 88, 68, 112, 64, 112, 66, 100, 124]
[49, [1, 2, 4, 14]]
[1, 2, 2, 4, 4, 4, 8, 8, 6, 6, 8, 4, 8, 12, 2, 12, 16, 16, 18, 20, 24, 24, 36, 20, 24, 22, 24, 40, 16, 20, 24, 32, 26, 40, 32, 24, 60, 36, 40, 36, 40, 40, 48, 28, 8, 52, 12, 48, 56, 34, 34, 48, 72, 28, 80, 40, 34, 60, 44, 60, 24, 60, 64, 76, 44, 36, 80, 60, 96, 88, 48, 56, 102, 72, 60, 84, 40, 80, 72, 48, 72, 102, 80, 84, 144, 48, 84, 120, 52, 88, 104, 72, 40, 96, 96, 60, 120, 96, 82, 108, 92]
[50, [1, 2, 5, 6]]
[1, 2, 2, 4, 2, 2, 10, 8, 14, 18, 4, 16, 20, 12, 32, 20, 10, 36, 14, 12, 26, 8, 36, 44, 30, 14, 16, 40, 40, 64, 52, 20, 62, 60, 12, 64, 26, 36, 108, 32, 28, 40, 40, 44, 80, 54, 44, 92, 68, 42, 42, 60, 36, 108, 82, 52, 96, 72, 28, 80, 100, 52, 180, 104, 42, 96, 32, 68, 108, 68, 104, 96, 98, 72, 48, 84, 60, 192, 180, 52, 130, 106, 40, 164, 64, 72, 176, 140, 108, 64, 52, 64, 220, 120, 92, 156, 110, 96, 114, 112, 62]
[51, [1, 2, 5, 7]]
[1, 2, 2, 4, 2, 2, 8, 6, 14, 14, 8, 16, 8, 20, 20, 20, 30, 12, 30, 12, 10, 32, 16, 40, 40, 14, 16, 20, 22, 56, 48, 48, 34, 28, 52, 16, 70, 40, 48, 92, 24, 32, 32, 32, 56, 94, 56, 28, 56, 46, 58, 80, 48, 56, 88, 76, 72, 60, 48, 44, 108, 92, 40, 94, 82, 44, 120, 48, 40, 112, 72, 128, 74, 40, 88, 76, 84, 100, 92, 128, 66, 134, 88, 40, 160, 112, 144, 108, 104, 80, 120, 80, 112, 144, 76, 152, 120, 52, 62, 160, 134]
[52, [1, 2, 5, 8]]
[1, 2, 2, 4, 2, 2, 8, 4, 12, 14, 4, 20, 8, 8, 28, 8, 30, 32, 6, 28, 10, 16, 40, 20, 36, 26, 20, 24, 8, 36, 36, 48, 60, 16, 24, 40, 22, 56, 56, 40, 72, 52, 16, 36, 40, 38, 100, 52, 40, 70, 30, 48, 32, 56, 88, 84, 108, 48, 28, 84, 16, 108, 96, 44, 150, 48, 32, 52, 32, 64, 120, 104, 84, 48, 52, 60, 56, 80, 80, 128, 130, 106, 44, 84, 32, 128, 192, 56, 144, 148, 44, 104, 40, 64, 204, 124, 180, 64, 46, 124, 74]
[53, [1, 2, 5, 9]]
[1, 2, 2, 4, 2, 2, 8, 4, 10, 12, 4, 16, 12, 8, 16, 16, 18, 32, 26, 4, 26, 16, 24, 44, 16, 22, 32, 28, 12, 24, 20, 40, 66, 40, 8, 16, 44, 24, 76, 32, 20, 72, 40, 28, 32, 46, 36, 108, 60, 22, 58, 32, 48, 76, 56, 36, 80, 72, 68, 64, 64, 24, 96, 116, 42, 112, 48, 44, 104, 32, 40, 80, 90, 88, 80, 52, 28, 88, 72, 56, 98, 108, 60, 96, 64, 40, 128, 112, 80, 120, 152, 40, 156, 80, 36, 188, 64, 120, 134, 88, 94]
[54, [1, 2, 5, 10]]
[1, 2, 2, 4, 2, 2, 8, 4, 10, 10, 2, 16, 8, 12, 16, 4, 26, 20, 26, 24, 2, 32, 24, 28, 40, 2, 28, 40, 16, 28, 8, 24, 58, 48, 36, 4, 26, 44, 40, 56, 10, 36, 64, 36, 24, 10, 48, 52, 104, 66, 2, 72, 28, 60, 80, 16, 80, 80, 60, 56, 8, 60, 64, 116, 122, 12, 96, 76, 36, 96, 16, 72, 130, 68, 76, 4, 40, 80, 112, 80, 26, 130, 84, 68, 64, 20, 88, 120, 120, 84, 26, 120, 48, 128, 96, 24, 232, 84, 114, 144, 2]