2018年4月29日日曜日

180429

PARI


Integral_{x=-1..1} |p(x)| dx >= 1/2^{n-1}

p(x) を最高次の係数が1 のn 次多項式とする。
このとき、Integral_{x=-1..1} |p(x)| dx >= 1/2^{n-1}
を満たすことを初等数学第50号において証明した。

等号が成り立つような多項式を出力してみた。

(15:53) gp > T(n, k) = polcoeff(polchebyshev(n, 2)/2^n, k);
(15:54) gp > tabl(nn) = for(n=0, nn, for(k=0, n, print1(T(n, k), ", ")); print);
(15:54) gp > tabl(15)
1,
0, 1,
-1/4, 0, 1,
0, -1/2, 0, 1,
1/16, 0, -3/4, 0, 1,
0, 3/16, 0, -1, 0, 1,
-1/64, 0, 3/8, 0, -5/4, 0, 1,
0, -1/16, 0, 5/8, 0, -3/2, 0, 1,
1/256, 0, -5/32, 0, 15/16, 0, -7/4, 0, 1,
0, 5/256, 0, -5/16, 0, 21/16, 0, -2, 0, 1,
-1/1024, 0, 15/256, 0, -35/64, 0, 7/4, 0, -9/4, 0, 1,
0, -3/512, 0, 35/256, 0, -7/8, 0, 9/4, 0, -5/2, 0, 1,
1/4096, 0, -21/1024, 0, 35/128, 0, -21/16, 0, 45/16, 0, -11/4, 0, 1,
0, 7/4096, 0, -7/128, 0, 63/128, 0, -15/8, 0, 55/16, 0, -3, 0, 1,
-1/16384, 0, 7/1024, 0, -63/512, 0, 105/128, 0, -165/64, 0, 33/8, 0, -13/4, 0, 1,
0, -1/2048, 0, 21/1024, 0, -63/256, 0, 165/128, 0, -55/16, 0, 39/8, 0, -7/2, 0, 1,
(15:54) gp >

2018年4月23日月曜日

180423

Ruby


Expansion of Product_{k>=1} ((1 + b*x^k)/(1 - b*x^k))^(1/b)

b が32以下のとき、出力してみた。

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

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

n = 32
(1..n).each{|i|
  p i
  ary = A(i, n)
  ary = ary.map(&:to_i) if ary.all?{|i| i.denominator == 1}
  p ary
}

出力結果
1
[0, 2, 4, 8, 8, 12, 16, 16, 16, 26, 24, 24, 32, 28, 32, 48, 32, 36, 52, 40, 48, 64, 48, 48, 64, 62, 56, 80, 64, 60, 96, 64, 64]
[1, 2, 4, 8, 14, 24, 40, 64, 100, 154, 232, 344, 504, 728, 1040, 1472, 2062, 2864, 3948, 5400, 7336, 9904, 13288, 17728, 23528, 31066, 40824, 53408, 69568, 90248, 116624, 150144, 192612]
2
[0, 2, 4, 14, 8, 42, 28, 142, 16, 554, 84, 2070, 56, 8218, 284, 32934, 32, 131106, 1108, 524326, 168, 2097634, 4140, 8388654, 112, 33554642, 16436, 134219390, 568, 536870970, 65868, 2147483710, 64]
[1, 2, 4, 10, 18, 38, 72, 142, 260, 510, 940, 1814, 3362, 6490, 12112, 23466, 44114, 85766, 162516, 317190, 604806, 1184682, 2271248, 4461514, 8591784, 16916490, 32696708, 64496130, 125037142, 247007142, 480077432, 949510526, 1849375796]
3
[0, 2, 4, 24, 8, 172, 48, 1472, 16, 13194, 344, 118120, 96, 1062908, 2944, 9566544, 32, 86093476, 26388, 774841016, 688, 6973573344, 236240, 62762119264, 192, 564859073822, 2125816, 5083731696240, 5888, 45753584909980, 19133088, 411782264189360, 64]
[1, (2/1), (4/1), (40/3), (74/3), (232/3), (1496/9), (4624/9), (10340/9), (296618/81), (700552/81), (2238824/81), (16426040/243), (52645480/243), (132141152/243), (1269387136/729), (3247054622/729), (10377298480/729), (242469841436/6561), (773105011720/6561), (2030882001800/6561), (19381160551952/19683), (51408848071432/19683), (163173266108720/19683), (1309070336102008/59049), (4146469657789322/59049), (11165827512192184/59049), (953107863703822048/1594323), (2582077601954622320/1594323), (8148785562277449496/1594323), (66578169249950838928/4782969), (209773435555040155856/4782969), (573976203565114384516/4782969)]
4
[0, 2, 4, 38, 8, 522, 76, 8206, 16, 131186, 1044, 2097174, 152, 33554458, 16412, 536872638, 32, 8589934626, 262372, 137438953510, 2088, 2199023280394, 4194348, 35184372088878, 304, 562949953423922, 67108916, 9007199255134550, 32824, 144115188075855930, 1073745276, 2305843009213694014, 64]
[1, 2, 4, 18, 34, 166, 384, 1902, 4756, 24022, 64284, 321542, 899658, 4455690, 12888944, 63185250, 187513426, 910880550, 2759413788, 13295839638, 40967821494, 195979968882, 612569599440, 2911592648458, 9213101043936, 43538337410474, 139246245625364, 654607535452762, 2113349714232038, 9887935161585494, 32189873102090592, 149956946909271358, 491842446413404948]
5
[0, 2, 4, 56, 8, 1260, 112, 31264, 16, 781418, 2520, 19531272, 224, 488281276, 62528, 12207035280, 32, 305175781284, 1562836, 7629394531288, 5040, 190734863375392, 39062544, 4768371582031296, 448, 119209289550787550, 976562552, 2980232238771875504, 125056, 74505805969238281308, 24414070560, 1862645149230957031312, 64]
[1, (2/1), (4/1), (24/1), (46/1), (1688/5), (4056/5), (30192/5), (79892/5), (595218/5), (8482312/25), (61950664/25), (185810568/25), (1333303928/25), (4156712512/25), (146798821632/125), (471794234774/125), (3287111258608/125), (10829625801228/125), (74554916419912/125), (1253843771372744/625), (8541147357705648/625), (29240326213347256/625), (197316578237348016/625), (685913250477493464/625), (114739470095081542282/15625), (404242361688650228664/15625), (2684200248207346016928/15625), (9569887602474737888368/15625), (63102127188981411612872/15625), (1136908484423542678089936/78125), (7448679553814096816675632/78125), (27099225934636021162314324/78125)]
6
[0, 2, 4, 78, 8, 2602, 156, 93326, 16, 3359466, 5204, 120932374, 312, 4353564698, 186652, 156728336358, 32, 5642219814946, 6718932, 203119913336870, 10408, 7312316880406434, 241864748, 263243407684534318, 624, 9476762676643246802, 8707129396, 341163456359166494910, 373304, 12281884428929630994490, 313456672716, 442147839441466715799614, 64]
[1, (2/1), (4/1), (94/3), (182/3), (1906/3), (14024/9), (147454/9), (402596/9), (37594526/81), (111039724/81), (1122328694/81), (10511211398/243), (103896051694/243), (338373914096/243), (9842085183322/729), (33151290370946/729), (316116032309014/729), (9851627050052372/6561), (92585416237240390/6561), (328142293519928774/6561), (9133556772972780542/19683), (33023258763732722224/19683), (302897450100868035614/19683), (3342995873851762827304/59049), (30347640997363316380826/59049), (113367633670608538017700/59049), (27527686846183407773527654/1594323), (104244376755075845040850274/1594323), (929499020598599117068883794/1594323), (10689854077727858017543383160/4782969), (94569068435206130047770890894/4782969), (366578178242754231255864512404/4782969)]
7
[0, 2, 4, 104, 8, 4812, 208, 235312, 16, 11529914, 9624, 564950520, 416, 27682574428, 470624, 1356446160624, 32, 66465861139236, 23059828, 3256827195820936, 19248, 159584532595930624, 1129901040, 7819642097165976144, 832, 383162462761132852862, 55365148856, 18774960675295543201040, 941248, 919973073089479921953660, 2712892321248, 45078680581384516175726560, 64]
[1, (2/1), (4/1), (40/1), (78/1), (1112/1), (2760/1), (273376/7), (760700/7), (10518934/7), (31761048/7), (426145032/7), (1364043816/7), (17844487720/7), (418161109872/49), (5353454555712/49), (18575746669614/49), (233426476330288/49), (834281030427084/49), (10314444861325624/49), (37797669650029160/49), (3224325449130404816/343), (12072631650081478968/343), (145238278293986308064/343), (554123099905409557752/343), (6589239632039780868566/343), (25560996349807351214536/343), (300756570493458196811360/343), (8289017173057792232444960/2401), (96591279742277864259510920/2401), (385422918708499664956340368/2401), (4451476268284753799145232480/2401), (17979513759932392301195898724/2401)]
8
[0, 2, 4, 134, 8, 8202, 268, 524302, 16, 33554834, 16404, 2147483670, 536, 137438953498, 1048604, 8796093047454, 32, 562949953421346, 67109668, 36028797018964006, 32808, 2305843009215267754, 4294967340, 147573952589676412974, 1072, 9444732965739290468402, 274877906996, 604462909807314688017590, 2097208, 38685626227668133590597690, 17592186094908, 2475880078570760549798248510, 64]
[1, 2, 4, 50, 98, 1830, 4576, 83950, 236500, 4211766, 12903260, 222377926, 723722602, 12136867530, 41382435824, 678060771778, 2400028798290, 38546050682278, 140724756748476, 2220907298526934, 8323586858891766, 129340015891714962, 495838256186203600, 7598518664789468426, 29712560805044620096, 449653168709476240810, 1789424007528983041364, 26772438897078377653946, 108230158789714892601894, 1602415158326270199908630, 6570474614516939785824512, 96345625313855031020927294, 400181545721010824307552148]
9
[0, 2, 4, 168, 8, 13132, 336, 1062896, 16, 86093946, 26264, 6973568824, 672, 564859072988, 2125792, 45753584950128, 32, 3706040377703716, 172187892, 300189270593998280, 52528, 24315330918117047424, 13947137648, 1969541804367222465808, 1344, 159532886153745019792382, 1129718145976, 12922163778453346856146320, 4251584, 1046695266054721074427023100, 91507169900256, 84782316550432407028588866464, 64]
[1, (2/1), (4/1), (184/3), (362/3), (8584/3), (64712/9), (1494880/9), (4247108/9), (853108250/81), (2640071080/81), (56917680248/81), (562170765704/243), (11776837529032/243), (40672751846672/243), (2494620913395520/729), (8953625447325278/729), (179248555792890544/729), (5978105024741472716/6561), (117498158146274411896/6561), (447374926352282750312/6561), (25952222443266127943696/19683), (101156320830959509321432/19683), (1927627631549274397267232/19683), (23008517384423901010298440/59049), (432687653842400921459638442/59049), (1753235643083340676831562296/59049), (879539538019851762208224113632/1594323), (3622612594381314456996141973280/1594323), (66568976375063388896174552784664/1594323), (834792764845975268282330904391696/4782969), (15184470400865451509706745060566176/4782969), (64332469411506587867134118181457348/4782969)]
10
[0, 2, 4, 206, 8, 20010, 412, 2000014, 16, 200000618, 40020, 20000000022, 824, 2000000000026, 4000028, 200000000061030, 32, 20000000000000034, 400001236, 2000000000000000038, 80040, 200000000000006001442, 40000000044, 20000000000000000000046, 1648, 2000000000000000000100050, 4000000000052, 200000000000000000600001854, 8000056, 20000000000000000000000000058, 400000000122060, 2000000000000000000000000000062, 64]
[1, (2/1), (4/1), (74/1), (146/1), (21438/5), (54056/5), (1535942/5), (4390292/5), (120110518/5), (1872052812/25), (49407669414/25), (164030172818/25), (4202245608778/25), (14648393845712/25), (1829654153874882/125), (6633662729547274/125), (162150393258821358/125), (607422942798629828/125), (14567331150184714862/125), (280533821134946563494/625), (6614982975852088461898/625), (26097759569345430506256/625), (606118849301109823463466/625), (2442295290503447959525864/625), (1398715653778159931368712282/15625), (5742664946531353806250416164/15625), (129917201568792788536391188178/15625), (542447976542524623973615203718/15625), (12131647919659571374608691764822/15625), (257154130067036836506421179246936/78125), (5690464085643148106563807777369382/78125), (24461209239959985809539218076748324/78125)]
11
[0, 2, 4, 248, 8, 29292, 496, 3543136, 16, 428718506, 58584, 51874849224, 992, 6276856753468, 7086272, 759499667255568, 32, 91899459727144356, 857437012, 11119834626984463000, 117168, 1345499989865130649504, 103749698448, 162805498773679522226688, 1984, 19699465351615222189570142, 12553713506936, 2383635307545441886206421040, 14172544, 288419872212998468075352128220, 1518999334511136, 34898804537772814637117607507664, 64]
[1, (2/1), (4/1), (88/1), (174/1), (6200/1), (15672/1), (537328/1), (1542788/1), (50800298/1), (159214280/1), (55577026712/11), (185665682264/11), (5714756455400/11), (1823589336320/1), (601670225687040/11), (2197995169333466/11), (64472898791113104/11), (22135181028668476/1), (7003777944049223096/11), (27208919907806598040/11), (769174498693684247440/11), (33684879069154367132344/121), (937515400504395602512880/121), (3813686634970391575368024/121), (9514039909377367941253246/11), (433947965618241299731230776/121), (11755915279134764410419673248/121), (49590897847083917648043192368/121), (120695443898678508243801070552/11), (5688390316669900527425338299280/121), (150635209895216495789821192588336/121), (654633235881544378068466325410820/121)]
12
[0, 2, 4, 294, 8, 41482, 588, 5971982, 16, 859964274, 82964, 123834728470, 1176, 17832200896538, 11943964, 2567836929223614, 32, 369768517790072866, 1719928548, 53246666561770487846, 165928, 7667519984894968162314, 247669456940, 1104122877824872835186734, 2352, 158993694406781688267090482, 35664401793076, 22895091994576563113011055190, 23887928, 3296893247219025087902087381050, 5135673858447228, 474752627599539612657900582862910, 64]
[1, (2/1), (4/1), (310/3), (614/3), (26098/3), (198272/9), (8072926/9), (23258420/9), (8169353654/81), (25709754844/81), (966265025510/81), (9730275102014/243), (354495349948030/243), (1250953722806096/243), (133169575019108626/729), (489318402319760258/729), (16972919850924597046/729), (580501613047581639836/6561), (19738094406100644756310/6561), (77189741422741353565814/6561), (7735454015070286298984726/19683), (31012275908690281338314608/19683), (1019594146311005789784399326/19683), (12533959594939036964560538848/59049), (406181997712348413331365433658/59049), (1697094728808469155952156639540/59049), (1465503324398447438369722158596398/1594323), (6231048084598918807559949112962962/1594323), (196891532700105504114637626136351714/1594323), (2551517098036808090576242826857086304/4782969), (79728367297319224858726778861520278606/4782969), (349411794076475502032284209435355526260/4782969)]
13
[0, 2, 4, 344, 8, 57132, 688, 9653632, 16, 1631462474, 114264, 275716983720, 1376, 46596170244988, 19307264, 7874752771571664, 32, 1330833218366359716, 3262924948, 224910813903914786296, 228528, 38009927549761627840864, 551433967440, 6423677755909710210314784, 2752, 1085601540748741025543476382, 93192340489976, 183466660386537233321693619440, 38614528, 31005865605324792430539070211100, 15749505543143328, 5239991287299889920761102865666160, 64]
[1, (2/1), (4/1), (120/1), (238/1), (11896/1), (30168/1), (1439184/1), (4157380/1), (189811274/1), (599285384/1), (26333803560/1), (88723902888/1), (49107536198680/13), (174014599298016/13), (7213347644514432/13), (26625378282277366/13), (1078499666025832432/13), (4118555809897238188/13), (163482775198224162600/13), (642659828981276272232/13), (25054722891994237364976/13), (100998502202797087904568/13), (3874362650104756230690576/13), (15967266110100116543774616/13), (603602510447504495417582514/13), (32981873521210096901958053048/169), (1230223091907221015523531389600/169), (5263220858135274477131152018576/169), (193918260012814317512428467441864/169), (843051531251554750427930738797968/169), (30710336237129574820405374448371728/169), (135481792315780160120520693827749956/169)]
14
[0, 2, 4, 398, 8, 76842, 796, 15059086, 16, 2951579306, 153684, 578509309974, 1592, 113387824750618, 30118172, 22224013651348518, 32, 4355906675618742306, 5903158612, 853757708421273485350, 307368, 167336510850569648301154, 1157018619948, 32797956126711642211745838, 3184, 6428399400835481873502559442, 226775649501236, 1259966282563754447215281083390, 60236344, 246953391382495871652459563712570, 44448027302697036, 48402864710969190843882074487652414, 64]
[1, (2/1), (4/1), (138/1), (274/1), (15910/1), (40392/1), (15622626/7), (45224476/7), (2388580466/7), (7560780980/7), (384155486874/7), (1298146709358/7), (63883151473270/7), (1589871232276560/49), (76150917694296330/49), (282102533838978994/49), (13199978916752542246/49), (50604616487570557204/49), (2319805329357741266214/49), (9157154376623375248550/49), (2885382773212778128378950/343), (11682271930773200713176432/343), (517319717015472950606545830/343), (2141799930639746180570959512/343), (93446351966709492620043432294/343), (394654778625977269826412659420/343), (16986782226515318977166145952558/343), (511245923937750634680376843722134/2401), (21732478167664507044633328583170790/2401), (94966769940751289768374782573582840/2401), (3990669153848631050678558933591570110/2401), (17698596203658532948686879177924398516/2401)]
15
[0, 2, 4, 456, 8, 101260, 912, 22781264, 16, 5125782618, 202520, 1153300781272, 1824, 259492675781276, 45562528, 58385852051087280, 32, 13136816711425781284, 10251565236, 2955783760070800781288, 405040, 665051346015930244128192, 2306601562544, 149636552853584289550781296, 3648, 33668224392056465148926287550, 518985351562552, 7575350488212704658523678129104, 91125056, 1704453859847858548164367675781308, 116771704102174560, 383502118465768173336982727050781312, 64]
[1, (2/1), (4/1), (472/3), (938/3), (313064/15), (2386504/45), (151209728/45), (438468628/45), (238769567458/405), (3786843695272/2025), (220335611053784/2025), (2239062417506024/6075), (126143302644447304/6075), (449684233739404016/6075), (369774174890311137728/91125), (1373860089823898950246/91125), (73558946314707859861232/91125), (2546044425707139966192508/820125), (133526162550137998667587832/820125), (2644261351956074515215785384/4100625), (408441242796375910761366669584/12301875), (1659560098368718343426033081848/12301875), (84044700417256080569197652438528/12301875), (1047768311200643964019372387039336/36905625), (1306791328925647158874157752613589818/922640625), (5540437459881500548817108743302380536/922640625), (7361317667821873690590736743132696619744/24911296875), (31777776362768149584931843040685933889664/24911296875), (1544177731895152755179938463490022632855256/24911296875), (101638604390204322392828632832673354742187984/373669453125), (4881698844674319275016799618600688602002361408/373669453125), (21743468643294774961891103968856101348218003956/373669453125)]
16
[0, 2, 4, 518, 8, 131082, 1036, 33554446, 16, 8589936146, 262164, 2199023255574, 2072, 562949953421338, 67108892, 144115188076251678, 32, 36893488147419103266, 17179872292, 9444732965739290427430, 524328, 2417851639229258450079274, 4398046511148, 618970019642690137449562158, 4144, 158456325028528675187088556082, 1125899906842676, 40564819207303340847920272380470, 134217784, 10384593717069655257060992658440250, 288230376152503356, 2658455991569831745807614120560689214, 64]
[1, 2, 4, 178, 354, 26918, 68448, 4930030, 14315732, 983862710, 3126094940, 206536783558, 700993103338, 44832356105674, 160173986004464, 9965933865026370, 37116764421761362, 2255126261932517286, 8695309007617405756, 517393235916277562326, 2054885030581462877942, 120021998451768591248402, 489090812750713830518224, 28094126063888160600296714, 117105102963637423502281920, 6625660521416034812227528106, 28180626016954510244918329940, 1572527401874450454238722582586, 6810877854697977179286416197414, 375255808464696984650287319441430, 1652283341111128131886607963293568, 89970658912525058885416266616084798, 402154436141651271052224953575559572]
17
[0, 2, 4, 584, 8, 167052, 1168, 48275152, 16, 13951516634, 334104, 4031987800920, 2336, 1165244474459548, 96550304, 336755653119305904, 32, 97322383751333736996, 27903033268, 28126168904135449982056, 668208, 8128462813295145189632704, 8063975601840, 2349125753042296917948125424, 4672, 678897342629223809287009069502, 2330488948919096, 196201332019845680883987234245840, 193100608, 56702184953735401775460214732126140, 673511306238611808, 16386931451629531113108002057584437760, 64]
[1, (2/1), (4/1), (200/1), (398/1), (34200/1), (87016/1), (7070080/1), (20553700/1), (1592424026/1), (5066872680/1), (377286141336/1), (1282620245432/1), (92431836917080/1), (330839229786704/1), (23190625169596608/1), (86543402994206990/1), (100689886677383912496/17), (389077540222944954092/17), (26074360131090448184408/17), (103795176748533136779432/17), (6827114626910429985355184/17), (27888045637714229038853160/17), (1803765619098677325397679232/17), (7537787415624244634850347432/17), (480160264101934206219281613178/17), (2047664492919535308577663740664/17), (128632718024312000679955949269664/17), (558665653052865116909882297379328/17), (34648157865418108979477966495495944/17), (152994115589853563424541244390935184/17), (9376831070607646446106600927951009216/17), (42036347580120661551394500154259672996/17)]
18
[0, 2, 4, 654, 8, 209962, 1308, 68024462, 16, 22039923114, 419924, 7140934453270, 2616, 2313662762852378, 136048924, 749626735164795174, 32, 242879062193188503586, 44079846228, 78692816150593075150886, 839848, 25496472432792156552952674, 14281868906540, 8260857068224658657035419694, 5232, 2676517690104789404879477015762, 4627325525704756, 867191731593951767181016332737790, 272097848, 280970121036440372566627869001777210, 1499253470329590348, 91034319215806680711587429556575797310, 64]
[1, (2/1), (4/1), (670/3), (1334/3), (128626/3), (982280/9), (89420542/9), (260209700/9), (203174685662/81), (647240559724/81), (53955702494966/81), (551039292559814/243), (44449943731301230/243), (159343435353496304/243), (37501776836121455002/729), (140185655101671027074/729), (10736206570916040162838/729), (374050415848394352267476/6561), (28047943255079476962274246/6561), (111867017692591473152070470/6561), (24696208323644413347494367806/19683), (101087042599885818142692851248/19683), (7314113591509176637021161964574/19683), (91891277291095005176854697349736/59049), (6547584714139123607959319358719642/59049), (27984751332000394530583837037566756/59049), (53089093710856931609489724883212817702/1594323), (231105966107883215218964826887456675810/1594323), (16029943486450610497292721243814122187474/1594323), (212857249305298377832349282229224431929400/4782969), (14589138772802180912801732176879868009563790/4782969), (65565059606293249348875653939286052116088468/4782969)]
19
[0, 2, 4, 728, 8, 260652, 1456, 94091776, 16, 33967128266, 521304, 12262132515624, 2912, 4426629838132348, 188183552, 1598013371566553808, 32, 576882827135242335396, 67934256532, 208254700595822483065720, 1042608, 75179946915091916668991584, 24524265031248, 27139960836348181815602743968, 5824, 9797525861921693635432591859102, 8853259676264696, 3536906836153731402391267092043760, 376367104, 1276823367851497036263210633827885340, 3196026743133107616, 460933235794390430091019038811866586864, 64]
[1, (2/1), (4/1), (248/1), (494/1), (53112/1), (135256/1), (13711696/1), (39933124/1), (3856246986/1), (12296942984/1), (1140819579304/1), (3888182455336/1), (348995078270328/1), (1252703105768672/1), (109338733100795008/1), (409303004490310734/1), (34871733476055054256/1), (135200188325642158812/1), (214259346198955154134360/19), (855955583009505385756056/19), (70057831484454031752815376/19), (287257995648675153964645192/19), (1216597298228388823922214608/1), (96979242540887307736181790184/19), (7684470815972588160743745534094/19), (32906031173932366334564388402536/19), (2570942662505089783124776979699424/19), (11213764697870546137992332052837296/19), (864847307069050192265222900980611864/19), (3835817157431953357492283682302146096/19), (292306401184615527633055976869136333872/19), (1316414787176378459024457259845541134892/19)]
20
[0, 2, 4, 806, 8, 320010, 1612, 128000014, 16, 51200002418, 640020, 20480000000022, 3224, 8192000000000026, 256000028, 3276800000000964030, 32, 1310720000000000000034, 102400004836, 524288000000000000000038, 1280040, 209715200000000000384005642, 40960000000044, 83886080000000000000000000046, 6448, 33554432000000000000000001600050, 16384000000000052, 13421772800000000000000153600007254, 512000056, 5368709120000000000000000000000000058, 6553600000001928060, 2147483648000000000000000000000000000062, 64]
[1, (2/1), (4/1), (274/1), (546/1), (325438/5), (829056/5), (93083942/5), (271281892/5), (29002396718/5), (462816634812/25), (47527187019414/25), (162145184821818/25), (16107760354653178/25), (57882576046678512/25), (27954738992739537882/125), (104774555998335947274/125), (9877678137092531497358/125), (38346798664371013869228/125), (3538924428710224002969662/125), (70788133623099239032401494/625), (6410107976048022244580386898/625), (26322227341591546999165442256/625), (2343252949257029177642951100266/625), (9846251297081311744594674730464/625), (21576715779563092209159991246892282/15625), (92544290570088275176408571642666164/15625), (7997949964849375891737084266916123178/15625), (34943622906981098399755478811094340118/15625), (2980867464207469100279514349214051247622/15625), (66219687511276331725780538975034891699936/78125), (5581234942152514933285524807842424009169382/78125), (25180541804728283184499744932613134003784324/78125)]
21
[0, 2, 4, 888, 8, 388972, 1776, 171532256, 16, 75645721386, 777944, 33359761956424, 3552, 14711655022773308, 343064512, 6487839865044188688, 32, 2861137380483970656676, 151291442772, 1261761584793431059579160, 1555888, 556436858893903097788995744, 66719523912848, 245388654772211265898007225728, 7104, 108216396754545168261021188470622, 29423310045546616, 47723430968754419203110570195025200, 686129024, 21046033057220698868571661376716719580, 12975679730088377376, 9281300578234328201040102667132073309264, 64]
[1, (2/1), (4/1), (904/3), (1802/3), (236968/3), (1811576/9), (1569114256/63), (4575748988/63), (4850388293894/567), (15491825719288/567), (1752410066253944/567), (17951110525211048/1701), (1964151879433519000/1701), (49454143891412098688/11907), (15782428616377877201920/35721), (59214835003184282724926/35721), (6147609043694444841183280/35721), (215037741495759573090577532/321489), (21852516977413697532411843112/321489), (87527492886758215475782855496/321489), (183266887736577540494355542031728/6751269), (753519749877671333170273159642840/6751269), (73854940148982990779415738875279792/6751269), (932251629384480693803292982343796712/20253807), (89964444452764686573626491151930697254/20253807), (386403590929732876607373826770202159240/20253807), (992599165701398865602491812874119862536736/546852789), (30401210613506839720288709650033272628950416/3827969523), (2854851805848366476719288666401420013484333848/3827969523), (38109325631432436258699478137278204938635648400/11483908569), (3535669438693863008926650076409135901991424669360/11483908569), (15976419335995457651217734563724179084987635445636/11483908569)]
22
[0, 2, 4, 974, 8, 468522, 1948, 226759822, 16, 109751749994, 937044, 53119845582870, 3896, 25710005262098458, 453519644, 12443642546857051494, 32, 6022722992678130286626, 219503499988, 2914997928456215058710566, 1874088, 1410858997372808089096181794, 106239691165740, 682855754728439114793293447214, 7792, 330502185288564531559954030771922, 51420010524196916, 159963057679665233275018079015036990, 907039288, 77422119916957972905108590883736911930, 24887285093714102988, 37472306039807658886072557987728665346110, 64]
[1, (2/1), (4/1), (330/1), (658/1), (95014/1), (242184/1), (32877966/1), (95926660/1), (12391970238/1), (39604533292/1), (54044188582514/11), (184674263563830/11), (22157833522434910/11), (7251467717064784/1), (9304019547206796174/11), (34940030975952586118/11), (3977133361773147142210/11), (1406598529335016589076/1), (1723823849029700505606850/11), (6911791294526311964902210/11), (755489886188384840105105934/11), (34206790563794902617137478544/121), (3675289937874986505655294847610/121), (15482033834003002374611096502312/121), (148883189191860014577347058719342/11), (7042627518600361273804029361242084/121), (734439344249102726528505797644637362/121), (3217522742137413825877585879668481830/121), (30106116035496692962870466479993301154/11), (1475502730248982254260718633203758889208/121), (150035993508968792014358693962819521609870/121), (678871741079617669140014886420948352001428/121)]
23
[0, 2, 4, 1064, 8, 559692, 2128, 296071792, 16, 156621973754, 1119384, 82853022427320, 4256, 43829248864040668, 592143584, 23185672649079183984, 32, 12265220831361997297956, 313243947508, 6488301819790496570600776, 2238768, 3432311662669172686736013184, 165706044854640, 1815692869551992350813481122704, 8512, 960501527993003953580331516684542, 87658497728081336, 508105308308299091443995840711658640, 1184287168, 268787708095090219373873551177395073020, 46371345298158367968, 142188697582302726048779108572841993596960, 64]
[1, (2/1), (4/1), (360/1), (718/1), (113368/1), (289032/1), (42873312/1), (125146660/1), (17659901050/1), (56472350760/1), (7651925963384/1), (26164364069592/1), (3428614559164440/1), (12351674618914352/1), (1573384134072173376/1), (5913345628302293134/1), (735038284703052154416/1), (2862037945365352000716/1), (348185645112148629018360/1), (1397351893171541214191976/1), (166773482369948315920977072/1), (687127954544196077608507848/1), (1853989969076701643944041972512/23), (7817792919002750441247388811832/23), (902896742174488879723959969233878/23), (3886817393116538336180819316565960/23), (442528373004850302382125917433908832/23), (1940816862554583962956146003015211296/23), (218081774980902680871733748246359536440/23), (972762237525270572262367691133084288240/23), (107982994522066573084528268991427697401824/23), (489168408708710639050091428658490634772604/23)]
24
[0, 2, 4, 1158, 8, 663562, 2316, 382205966, 16, 220150631826, 1327124, 126806761930774, 4632, 73040694872113178, 764411932, 42071440246339171998, 32, 24233149581890213117986, 440301263652, 13958294159168762755940390, 2654248, 8039977435681207348568268714, 253613523861548, 4631027002952375432114866225198, 9264, 2667471553700568248898162949005362, 146081389744226356, 1536463614931527311365342517167925430, 1528823864, 885003042200559731346436909468433252410, 84142880492678343996, 509761752307522405255547659853817553354814, 64]
[1, (2/1), (4/1), (1174/3), (2342/3), (402802/3), (3081440/9), (497563486/9), (1452962420/9), (2008259598614/81), (6425114609692/81), (947394067418534/81), (9723867620776862/243), (1386535032947100094/243), (4998221093133079760/243), (2078270238705441942898/729), (7816355423119861984898/729), (1057093860829145363566006/729), (37072249701794250844210748/6561), (4906767871450146663944911510/6561), (19707857230951107587167613366/6561), (7676678998403579587810802005622/19683), (31655757494530922527161789165424/19683), (4039876502199845125340806414307294/19683), (51150877525405130886055310958498112/59049), (6426339847895297500258227403227414842/59049), (27690046897428863687639218478529299572/59049), (92592419508220951275866932719389111584078/1594323), (406479565882920344759595649016034927159122/1594323), (49682082326642361637952708722376545722111778/1594323), (665492512306224092111753331236967613133110528/4782969), (80353385929513369475321478207805127731529013326/4782969), (364381341016202919888312397985762575001658771700/4782969)]
25
[0, 2, 4, 1256, 8, 781260, 2512, 488281264, 16, 305175785018, 1562520, 190734863281272, 5024, 119209289550781276, 976562528, 74505805969240631280, 32, 46566128730773925781284, 610351570036, 29103830456733703613281288, 3125040, 18189894035458564759765633792, 381469726562544, 11368683772161602973937988281296, 10048, 7105427357601001858711242679687550, 238418579101562552, 4440892098500626161694527587890636304, 1953125056, 2775557561562891351059079170227050781308, 149011611938481262560, 1734723475976807094411924481391906738281312, 64]
[1, (2/1), (4/1), (424/1), (846/1), (789688/5), (2014056/5), (352796192/5), (1030583092/5), (171662547618/5), (2747229886312/25), (439318881580664/25), (1503784806868568/25), (232533059142752728/25), (838714808561568112/25), (630279230498103757632/125), (2371939226417799154774/125), (347836480331734095050608/125), (1356304548909975876920028/125), (194646740003153361983239512/125), (3911733565478783922118608744/625), (550691037067474936223740425648/625), (2272547806382191228036757509256/625), (314440486078857073526876679411616/625), (1328140555925455966000733028062664/625), (4522617518699707221177426839584002282/15625), (19503238178259140179893369991115428664/15625), (2618641470327209138388406909007977536928/15625), (11505625987996980375943668748996580811168/15625), (1524542812847684460034299564948664326678472/15625), (34065589523581783050231810960562300700505936/78125), (4458953148891526052874324006108474314347745632/78125), (20238647973037341183827730697241673113221826324/78125)]
26
[0, 2, 4, 1358, 8, 913962, 2716, 617831566, 16, 417654133226, 1827924, 282334191306774, 5432, 190857913323364378, 1235663132, 129019949406597050598, 32, 87217485798857748119586, 835308266452, 58959020400027837728817190, 3655848, 39856297790418818306533898914, 564668382613548, 26942857306323121173963946852398, 10864, 18213371539074429913599628076759762, 381715826646728756, 12312239160414314621593349829762807230, 2471326264, 8323073672440076684197103637917075505210, 258039898813194101196, 5626397802569491838517242059231943041482814, 64]
[1, (2/1), (4/1), (458/1), (914/1), (184614/1), (470920/1), (89202574/1), (260658820/1), (46942353214/1), (150307781932/1), (25985771565974/1), (88988829736674/1), (193384824830637074/13), (697861763275800080/13), (113381306105664912866/13), (426923549387430168106/13), (67674700786778167560782/13), (264037201936637645125764/13), (40958386719454528449278670/13), (164728430280588552603527758/13), (25065692866290830461383678562/13), (103507980605594016000007535824/13), (15479519896800710466475668099394/13), (65428432312502165893305582499784/13), (9632019656767328456363900912927362/13), (540373918700422949178855655845903780/169), (78414503512806909519128614427955060370/169), (344794168199979046545325477293490920518/169), (49375373554226572774783017165375264115990/169), (220829827735944471540162253886262536740344/169), (31238120930741810678759985475271636878417966/169), (141901063328601294196594594992044695637498196/169)]
27
[0, 2, 4, 1464, 8, 1062892, 2928, 774840992, 16, 564859077354, 2125784, 411782264189320, 5856, 300189270593998268, 1549681984, 218837978263027914384, 32, 159532886153745019726756, 1129718154708, 116299474006080119380780376, 4251568, 84782316550432407030913399584, 823564528378640, 61806308765265224723841283607104, 11712, 45056799089878348823680295754859742, 600378541187996536, 32846406536521316292462937295995742640, 3099363968, 23945030365124039577205480053434094211420, 437675956526055828768, 17455927136175424851782794958953454680082960, 64]
[1, (2/1), (4/1), (1480/3), (2954/3), (643624/3), (4926008/9), (1006067248/9), (2940648740/9), (5138191010570/81), (16457954002120/81), (3067148923885064/81), (31523103876940376/243), (5680091245867495720/243), (20506716749790514496/243), (10773414200085309869824/729), (40585815880714766708126/729), (6934221932310326280054064/729), (243617163702589870518305276/6561), (40730316285838059130329814120/6561), (163903203948133222851208596296/6561), (80637730094674547905975704325136/19683), (333188653332584583000192015250984/19683), (53700660653464554419529501155549072/19683), (681366070541815563859314728721899416/59049), (108099914731116574941999718207142850506/59049), (466811484271970237559789033435427346104/59049), (1971016714243326694293157968427850112602848/1594323), (8672563618919809253454228253704368438893136/1594323), (1338352833594889176581295327293300033418170392/1594323), (17969805848713769170962092996332117780917774736/4782969), (2739261092529737637647242812561656280757669043696/4782969), (12452262193860690500813948417406268767087752884996/4782969)]
28
[0, 2, 4, 1574, 8, 1229322, 3148, 963780622, 16, 755604001394, 2458644, 592393533390870, 6296, 464436530178424858, 1927561244, 364118239659888764094, 32, 285468699893349893537826, 1511208002788, 223807460716386316533628966, 4917288, 175465049201646872165256432394, 1184787066781740, 137564598574091147775294222368814, 12592, 107850645282087459855830670343260722, 928873060356849716, 84554905901156568526971247811109467990, 3855122488, 66291046226506749725145456506729211625530, 728236479319777528188, 51972180241581291784514037901275701914370110, 64]
[1, (2/1), (4/1), (530/1), (1058/1), (247974/1), (632704/1), (972631042/7), (2843627020/7), (593543633626/7), (1901742037444/7), (381014617373738/7), (1305777953723910/7), (252933827487788870/7), (6394686813632518256/49), (1203786813936600099266/49), (4536913997186921044402/49), (833227084322746100723270/49), (3254137661199420816908124/49), (584805859732039347095734710/49), (2354505991762025859692637910/49), (2905233344746125810010137476542/343), (12010573899145180525596232745392/343), (2080632680532974894258327684843110/343), (8804756356459928257731044041066016/343), (1501391212104459494687834621478014662/343), (6487285953387821710323162476381952204/343), (1090359882056928947111957951647836733590/343), (33603776343642990365520299853740027552550/2401), (5573445374209930130298502252201373839683990/2401), (24960176888689804572657294314433378183581536/2401), (4089229446460898707477490234997805669782927998/2401), (18601055769657011967952081561628695075649879700/2401)]
29
[0, 2, 4, 1688, 8, 1414572, 3376, 1189646656, 16, 1000492830986, 2829144, 841414466600424, 6752, 707629566410938108, 2379293312, 595116465351603179088, 32, 500492947360694697575076, 2000985661972, 420914568730344240660610360, 5658288, 353989152302219506399142232544, 1682828933200848, 297704877086166604878677129154528, 13504, 250369801629466114702967465625992222, 1415259132821876216, 210561003170381002465195641586989676400, 4758586624, 177081803666290423073229532050414905274780, 1190232930703206358176, 148925796883350245804586036454398935336041264, 64]
[1, (2/1), (4/1), (568/1), (1134/1), (285176/1), (727704/1), (171403792/1), (501236036/1), (112197354762/1), (359584868104/1), (77255570197352/1), (264847969457768/1), (55011669505106680/1), (198758213267948704/1), (40119985788782033280/1), (151266425823462196046/1), (29787723082166929215920/1), (116384201510208311260188/1), (22425887058803619550072968/1), (90330425204988504901676424/1), (17072061440337913908052543152/1), (70611624840137173099735138520/1), (13114942092582211940964452917648/1), (55527245412658829475491747776056/1), (10151534133667276946820128088776826/1), (43886231494811291591145330181014008/1), (7908156515147008013713413240636586400/1), (34836288283560512764314135498793768784/1), (179637637291714977333437871132735669484648/29), (804944890529880462610262782739864791065296/29), (141378667569526572690303107354258127079175824/29), (643476808374058527761880940774727526398048148/29)]
30
[0, 2, 4, 1806, 8, 1620010, 3612, 1458000014, 16, 1312200005418, 3240020, 1180980000000022, 7224, 1062882000000000026, 2916000028, 956593800000004869030, 32, 860934420000000000000034, 2624400010836, 774840978000000000000000038, 6480040, 697356880200000000004374012642, 2361960000000044, 627621192180000000000000000000046, 14448, 564859072962000000000000000008100050, 2125764000000000052, 508373165665800000000000003936600016254, 5832000056, 457535849099220000000000000000000000000058, 1913187600000009738060, 411782264189298000000000000000000000000000062, 64]
[1, (2/1), (4/1), (1822/3), (3638/3), (4896314/15), (37486504/45), (9447775478/45), (27633711028/45), (59560819571158/405), (954679372389772/2025), (219434419045622534/2025), (2257451144545346774/6075), (501625169904332504254/6075), (1812968417757655362416/6075), (5872273017940890050060978/91125), (22148386812794523150362746/91125), (4665667369975389094108513982/91125), (164126671390585163296361243908/820125), (33829900918064892191547909790382/820125), (681604243809011674997582254332134/4100625), (413391381149950652464668144252538334/12301875), (1710562179531181482432615064114604848/12301875), (339841007531509550134642666213650959678/12301875), (4318503928326634626402923480299790277736/36905625), (21112373015082523933492289728957814311059818/922640625), (91314315925382341858419639940924436486068036/922640625), (475203637711072565571291441107005149221512193494/24911296875), (2094352174169576926535524339039760025909049712114/24911296875), (398327041791685826221201642064179482658235924023906/24911296875), (26786800538203930179314128410164651134205321899184984/373669453125), (5032155826970780466286965334486261073900550952447655158/373669453125), (22915603346742943794710763768930032396653138466349117956/373669453125)]
31
[0, 2, 4, 1928, 8, 1847052, 3856, 1775007376, 16, 1705782080666, 3694104, 1639256573961624, 7712, 1575325567577099548, 3550014752, 1513887870441598191408, 32, 1454846243494370527656996, 3411564161332, 1398107239998090077078340520, 7388208, 1343581057638164564077610238784, 3278513147923248, 1291181396390276146073466080277168, 15424, 1240825321931055376376600903155549502, 3150651135154199096, 1192433134375744216697913473040954228560, 7100029504, 1145928242135090192246694842674587275086140, 3027775740883196382816, 1101237040691821674749073743810278371357724864, 64]
[1, (2/1), (4/1), (648/1), (1294/1), (371992/1), (949416/1), (255470016/1), (747358564/1), (191069415706/1), (612654824424/1), (150324014793944/1), (515625418415736/1), (122305520604886488/1), (442164930485904272/1), (101917177219476078528/1), (384523353673422886414/1), (86461297397870610140976/1), (338060969441916327475692/1), (74376208399332521987884440/1), (299816781483514074770309544/1), (64695220425454652745904864944/1), (267805270009288506755089398888/1), (56787933389134852986461361558208/1), (240641354975005901455928676151656/1), (50225729106191671376244895528389722/1), (217327083036762964190174075742062456/1), (44707045787448619494605005790455152800/1), (197123804294181872005874806399382800192/1), (40013571924802798774004403441492307211400/1), (179472199361374813395004655902744542081936/1), (1115485265001888545729240422784503059578046464/31), (5082152168546743736048627673349977809026326044/31)]
32
[0, 2, 4, 2054, 8, 2097162, 4108, 2147483662, 16, 2199023261714, 4194324, 2251799813685270, 8216, 2305843009213693978, 4294967324, 2361183241434828908574, 32, 2417851639229258349412386, 4398046523428, 2475880078570760549798248486, 8388648, 2535301200456458802999848876074, 4503599627370540, 2596148429267413814265248164610094, 16432, 2658455991569831745807614120571174962, 4611686018427387956, 2722258935367507707706996866051215476790, 8589934648, 2787593149816327892691964784081045188247610, 4722366482869657817148, 2854495385411919762116571938898990272765493310, 64]
[1, 2, 4, 690, 1378, 422182, 1077600, 308937198, 903922900, 246196253622, 789577797724, 206385441223366, 708089495910378, 178919770677860810, 647011755508319728, 158862871730335164738, 599548602642056419666, 143602028585823314235302, 561656051555297542937916, 131624759184440529258794966, 530768461148964266971134710, 121994789981212307363931508242, 505175308359998714005957471696, 114101508256967662685954077207818, 483690065766196547163037829878464, 107529696870542059744791339784177066, 465462556456488231247141306580645460, 101987169732621840934749128806231633466, 449866917919497999703983165679373728550, 97262352113458364279592670557840276372502, 436431756604669240033078667006016885031296, 93198281214512218721111898997450121217022270, 424794992003295889935841204352862364950976916]

2018年4月15日日曜日

180415

Ruby


Lucky Number of Euler

2, 3, 5, 11, 17, 41 を見つける図を出力してみた。

# -*- coding: cp932 -*-
require 'prime'

def A(k, n)
  ary = []
  (0..n).each{|i|
    if (i * i + k).prime?
      ary << '■'
    else
      ary << '□'
    end
  }
  ary.join
end

n = 50
(1..81).each{|i| p A(i, n)}

出力結果
"□■■□■□■□□□■□□□■□■□□□■□□□■□■□□□□□□□□□■□□□■□□□□□□□□□□"
"■■□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□□□□■□□□□□■□□□□□"
"■□■□■□□□■□■□□□■□□□□□□□■□□□□□■□□□□□□□□□■□□□□□□□□□□□■"
"□■□■□■□■□□□□□■□■□■□□□□□□□□□■□□□□□■□■□■□□□□□□□■□■□□□"
"■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□■□□□□□□□□□□□■□□"
"□■□□□■□□□□□■□□□□□□□■□□□□□■□□□□□■□□□■□□□□□□□□□□□□□□□"
"■□■□■□■□■□■□■□□□■□■□□□■□□□■□□□■□■□■□■□■□■□□□□□□□■□□"
"□□□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□□□□"
"□□■□□□□□■□■□□□□□□□□□■□□□□□□□□□□□■□□□□□■□■□□□□□□□□□□"
"□■□■□□□■□□□■□■□□□□□□□□□□□□□■□□□■□□□□□□□■□□□□□□□□□■□"
"■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□"
"□■□□□■□■□□□□□■□□□□□■□□□■□□□□□■□□□□□■□■□□□■□■□□□■□□□"
"■□■□■□□□□□■□■□□□■□■□□□□□□□□□■□□□□□□□□□□□■□■□■□■□□□□"
"□□□■□□□□□□□□□□□■□□□□□□□□□□□■□□□□□■□□□□□□□□□□□■□□□□□"
"□□■□■□□□■□□□□□■□■□□□□□■□□□■□□□□□■□■□□□■□□□□□■□■□□□□"
"□■□□□■□□□■□■□□□■□□□□□■□□□■□□□■□■□□□□□□□□□■□□□□□□□■□"
"■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□□□□□□□□□□□□□□□□"
"□■□□□■□■□□□■□□□□□■□■□□□■□■□□□■□□□□□□□□□□□■□■□□□□□□□"
"■□■□□□□□■□□□■□□□□□□□■□■□□□□□□□■□□□□□□□□□■□■□□□□□□□□"
"□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□□□□"
"□□□□■□□□□□□□□□□□■□□□■□□□□□□□□□□□□□□□□□□□■□□□□□■□□□■"
"□■□■□■□■□■□□□■□□□■□■□■□□□■□■□■□■□□□□□□□■□□□■□□□□□■□"
"■□□□□□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□□□□■□□□□□□□□"
"□□□□□□□■□□□□□■□□□■□□□□□□□□□□□□□□□□□■□□□□□□□■□□□□□□□"
"□□■□■□■□■□□□□□□□■□■□□□■□■□■□■□□□■□■□■□□□□□■□□□■□□□□"
"□□□□□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□□□□□□□"
"□□■□■□□□□□■□□□■□■□□□□□□□□□□□■□□□■□□□□□■□■□□□□□■□□□□"
"□■□■□■□□□■□■□■□□□■□■□□□■□■□■□□□□□■□□□□□■□■□■□■□■□□□"
"■□□□□□□□□□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□□□□■□□"
"□■□□□□□■□□□■□■□□□□□□□□□□□□□□□□□■□□□□□■□□□□□■□□□■□□□"
"■□□□■□■□□□■□□□■□□□□□■□□□■□□□□□□□□□■□■□□□□□□□□□□□□□■"
"□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□■□□□□□□□□□□□"
"□□■□□□□□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□□"
"□□□■□■□■□□□□□□□□□□□□□□□■□■□□□□□□□■□■□□□□□□□□□□□■□□□"
"□□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□□□□□□□■□□"
"□■□□□■□□□□□■□□□□□□□■□□□□□■□□□■□■□□□□□□□□□□□□□□□□□■□"
"■□■□■□■□■□■□■□■□■□□□□□■□■□□□■□■□■□■□□□■□■□■□■□■□■□□"
"□□□■□□□□□□□□□□□■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□■□□□□□"
"□□■□□□□□■□■□□□□□□□□□■□■□□□□□■□□□■□□□□□■□□□□□□□□□□□■"
"□■□□□□□■□□□□□□□□□□□■□□□■□□□■□■□□□■□□□■□□□■□■□□□□□■□"
"■□□□□□□□□□□□□□□□□□□□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□"
"□■□□□■□□□□□■□■□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□□□□■□□□"
"■□■□■□■□■□□□□□■□□□■□■□□□■□■□■□□□□□□□□□■□□□□□■□□□■□■"
"□□□■□□□□□□□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□□□□■□□□□□"
"□□□□■□□□■□□□□□■□□□□□□□□□□□□□■□□□■□■□□□■□□□□□□□■□□□□"
"□■□□□■□□□■□■□□□■□□□□□■□□□□□□□■□□□□□□□□□■□□□□□□□□□■□"
"■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□■□□□□□■□□"
"□□□□□■□■□□□□□□□□□■□■□□□■□■□□□□□■□□□□□□□□□□□□□□□□□□□"
"□□■□□□□□■□■□■□□□□□■□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□■"
"□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□"
"□□□□■□□□□□■□□□□□■□□□□□□□□□■□□□□□□□□□□□□□□□□□■□□□□□■"
"□■□■□□□■□□□■□□□■□□□□□□□□□■□□□□□■□□□■□□□□□■□■□□□□□□□"
"■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□□□□□□□■□□"
"□□□□□■□■□□□□□■□□□□□□□□□□□□□□□□□□□□□■□■□□□□□□□□□□□□□"
"□□■□■□□□□□□□■□■□■□■□□□□□■□□□■□□□□□□□□□■□□□□□□□□□□□□"
"□□□□□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□□□□□□□■□□□□□"
"□□■□■□□□□□■□□□□□■□□□■□■□□□■□□□□□□□■□□□□□■□□□■□□□□□■"
"□■□■□■□■□■□■□■□■□■□■□■□■□■□■□□□■□□□■□■□■□□□■□■□■□■□"
"■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□□□□□□□□□□□□□■□□□□□□□□"
"□■□□□□□■□□□■□■□□□■□■□□□□□□□□□□□■□□□□□■□□□■□□□□□■□□□"
"■□□□□□■□□□□□□□■□■□□□■□□□□□□□□□□□□□■□□□□□□□□□■□□□□□□"
"□□□■□□□□□□□□□□□□□□□□□■□□□□□□□□□□□■□□□□□■□□□□□■□□□□□"
"□□■□■□□□■□■□□□□□□□□□■□■□□□■□□□□□■□□□□□□□■□□□■□■□□□□"
"□□□■□■□■□□□□□■□□□■□□□□□■□□□□□□□□□■□■□■□□□□□■□■□■□□□"
"□□□□□□■□□□□□□□□□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□□□□"
"□■□□□□□□□□□□□□□□□□□□□□□□□■□□□■□□□□□■□□□□□■□□□□□□□■□"
"■□■□■□■□■□■□■□■□□□□□■□□□■□■□□□■□■□■□□□■□■□■□■□□□■□□"
"□□□□□□□□□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□□□"
"□□■□□□□□□□□□□□□□□□□□□□□□□□□□■□□□■□□□□□□□■□□□□□□□□□□"
"□■□■□□□□□■□■□■□□□■□■□□□■□□□□□■□■□□□□□■□□□□□□□□□□□□□"
"■□□□□□■□□□□□□□□□□□□□□□□□■□□□□□■□□□□□■□□□□□□□□□□□□□□"
"□■□□□■□□□□□■□■□□□□□■□□□■□□□□□□□■□□□■□□□□□■□□□□□■□■□"
"■□□□■□■□■□■□□□■□□□■□□□■□□□□□■□□□■□■□□□□□□□□□□□□□■□□"
"□□□■□□□□□□□□□□□□□□□□□□□□□□□□□□□□□■□□□□□□□□□□□■□□□□□"
"□□■□□□□□■□□□□□■□■□□□□□□□□□■□■□□□□□■□□□□□□□□□■□□□□□□"
"□□□□□■□□□■□■□□□□□□□□□□□□□■□□□□□□□□□■□□□■□□□□□□□□□■□"
"□□□□□□■□□□□□□□□□□□■□□□□□■□□□□□■□□□□□■□□□□□□□□□□□■□□"
"□■□□□■□■□□□■□□□□□■□■□□□■□□□□□■□■□□□■□■□□□■□□□□□■□□□"
"■□■□□□□□□□■□■□□□□□□□■□■□□□□□■□□□■□□□□□■□□□□□□□□□■□■"
"□□□■□□□□□□□□□□□□□□□□□■□□□□□■□□□□□□□□□□□■□□□□□□□□□□□"
"□□□□■□□□□□■□□□■□■□□□□□□□□□■□□□□□□□■□□□□□□□□□■□□□□□□"