2017年11月19日日曜日

171119

A generalized Euler transform

定理 数列{f(n)} および{g(n)} を用いて、新たな数列{a(n)} を次のように定義する。

Product_{n>0} (1 - g(n)*x^n)^(-f(n)) = a(0) + a(1)*x + a(2)*x^2 + ... .

このとき、
 a(n) = (1/n) * Sum_{k=1..n} b(k)*a(n-k). 
(ただし、b(n) = Sum_{d|n} d*f(d)*g(d)^(n/d))

証明. Product_{n>0} (1 - g(n)*x^n)^(-f(n)) = exp(Sum_{n>0} (Sum_{d|n} d*f(d)*g(d)^(n/d)) * x^n/n)
を示せばよいが、これは
- Sum_{n>0} f(n) * log(1 - g(n)*x^n)
= Sum_{n>0} f(n) * (Sum_{m>0} (g(n)*x^n)^m/m)
= Sum_{n>0} (Sum_{d|n} d*f(d)*g(d)^(n/d)) * x^n/n
より明らか。Q.E.D.

g(n) = 1 としたのが、Euler transform である。

2017年11月18日土曜日

171118

Ruby


Expansion of Product_{k>=1} (1 ± k*x^k))^(±k)

それぞれ計算してみた。

def s(f_ary, g_ary, n)
  s = 0
  (1..n).each{|i| s += i * f_ary[i] * g_ary[i] ** (n / i) if n % i == 0}
  s
end

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

n = 50
ary1 = (0..n).map{|i| -i}
ary2 = (0..n).to_a
p A(ary1, ary1, n)
p A(ary1, ary2, n)
p A(ary2, ary1, n)
p A(ary2, ary2, n)

出力結果
[1, 1, 4, 13, 29, 81, 188, 456, 1030, 2405, 5295, 11611, 25246, 53552, 113332, 235685, 486011, 990840, 2006567, 4018010, 7992003, 15768511, 30875424, 60060509, 116042548, 222817961, 425200270, 806991037, 1522748592, 2858792520, 5339457208, 9924370365, 18359901997, 33812646935, 61999124321, 113204234852, 205862337221, 372878429033, 672835402816, 1209588044793, 2166753852049, 3867809679344, 6881037028716, 12201406676888, 21566414247820, 38000774004995, 66755792351581, 116923614457354, 204203782318876, 355635202391775, 617666801739931]
[1, -1, -4, -5, -3, 23, 44, 104, 70, -93, -465, -1155, -1882, -1904, 804, 6195, 18755, 33296, 47327, 35198, -28493, -176199, -453792, -805453, -1126396, -1028297, -18994, 2946491, 8248080, 16444480, 25436984, 30736635, 22263981, -16098311, -102681575, -256880020, -472968099, -714186361, -843996976, -644815585, 298761545, 2421641832, 6222259508, 11789810688, 18381745764, 23559771093, 22274637285, 6320449894, -36301921428, -117867266775, -248604757661]
[1, -1, -3, -6, 2, 9, 41, 46, 91, -110, -210, -713, -574, -1152, 792, 1066, 9317, 8553, 21302, 745, 8051, -82940, -76750, -276022, -82369, -404100, 381095, -38110, 2427272, 1126260, 6527840, 198507, 9754305, -14320206, 2879362, -60271740, -5154261, -143468194, 45076661, -234052476, 368886604, -247381667, 1282501567, -391275933, 3098609545, -1922335739, 5751247293, -8041862590, 10176770846, -25557378946, 18952181107]
[1, 1, 5, 14, 42, 103, 289, 690, 1771, 4206, 10142, 23449, 54786, 123528, 279480, 619206, 1366405, 2969071, 6425534, 13727775, 29187555, 61439660, 128620370, 267044222, 551527679, 1130806020, 2306746335, 4676096006, 9432394144, 18920266428, 37776372312, 75041364413, 148416537369, 292180587654, 572826984930, 1118261849716, 2174572373811, 4211951389306, 8128298517165, 15628368778820, 29944800382236, 57177924889211, 108820805664983, 206435020380189, 390397024961585, 736033705364187, 1383595389367133, 2593344028747990, 4847245569040526, 9035118348679538, 16796348691066595]

2017年11月9日木曜日

171109

Ruby


Product_{k=1..n} (1 - k^k*x^k) 等(2)

簡単な計算方法を見つけた。

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

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

p A(1, -1, 50)
p A(1,  1, 50)

出力結果
[1, -1, -4, -23, -229, -2761, -42615, -758499, -15702086, -365588036, -9516954786, -273061566624, -8575969258607, -292418459301779, -10762887030763337, -425243370397722674, -17953905924215881215, -806666656048846472309, -38431184040433830671913, -1935181289882115032490348, -102696392415846742681733803, -5728632608276744273452117182, -335107577316074301942345694886, -20512630873623057901876906465743, -1311322803795912839879249103895553, -87390960343889620272724433296491880, -6061384949468492645254259961399089464, -436878303197147196764997753948315233462, -32675044025947179003139330924063144267098, -2532599985989370726380519904538079256177793, -203178927579931810874025726965036433479741952, -16852125986543066536028316042434581330055228156, -1443540661889085555907194401730450877441654520045, -127574820869143586595809496206091343218785221447959, -11621234125615831378564183221418512234993617429041058, -1090196183005328639647915061369295772435373168383752681, -105234462011765494539519684733251330682780002215401072539, -10444032619061859497835254098020641143844512837807387209711, -1064902631219112666269332993851683972378340828286166920131461, -111474276281159827251053377800414613365575724197083049385370429, -11972088595272475908579728804082619667947506111569023902379561582, -1318310476289005221139456767233891094537237273824409848278526461933, -148748832043264334406644872125794105595871324181527240036587485159754, -17188011557131984039753154446985789282791436973154624682540639685440653, -2032795780843366162329190289675591210400612525094020643226076694024657889, -245939698538743537478667846250646039337163770333022466134040568157902292494, -30423641976898894071689041552479607626257428359671512045193457871897137467696, -3846200040360747504396179827366602271408814708121940123440320482354684713335810, -496695201984715682948564922534938106524773540501514053768423580824529347786758831, -65492741914370653035591205743688113605561186820898464463643223003610278456267562995, -8813674657487816832612715981635867854914273624507153623639538458830834786224586856770]
[1, 1, 5, 32, 304, 3537, 52010, 895397, 18016416, 410889848, 10523505770, 298220329546, 9274349837081, 313761671751672, 11474635626789410, 450964042480390679, 18954785687060988578, 848386888530723146912, 40285405287225043910550, 2022698192735125064374800, 107067613600574960842869576, 5958957516540411012538481312, 347874804978251035491293556717, 21255282815702806741512542156320, 1356552811381527011063310886545470, 90269224251818008284503526617607078, 6252407532636283837248750189467023717, 450077403312833906134664153832793562364, 33623078468794716158752737057969922475976, 2603279113832594183853952144206489719837940, 208641020463859049059313644666998258355430174, 17289127397779339597455206628731138571029463388, 1479694518137323492518182330267555690966057710386, 130664405112427023669744020431578357644166585768834, 11893676637179710201515160431837573422707677490346506, 1114962549339627610139884413141761124617651310248910807, 107553299717906401134057923370737862686988012597837335428, 10667456623847661239614784713395895708825315080311903974842, 1087038281322044541723912129364763989898375730124545587816420, 113727624541296280610995388843934779805112107590089608738821866, 12207607672244566843332717756498509768573329189287764690816378001, 1343567949879928688576883932845039142064874998015038262382867301310, 151526235731705276942576654565683947618697905104015802013110682919256, 17500984254427353429088809491108129599200863753155515140181675937796866, 2068914981048485504735305132601459341359908002379365151497580784456356578, 250206395748750271585510108940161076975800606600455914501836198285139561506, 30939269917163886094342998721746598367612901564113128379988190173340349015884, 3909916438944027445264015931163420219796204883134594411865752491610605996942362, 504742036355325700420716147919073362233829975908395870482808863420263975649192158, 66530881888898978050425464434805233005142718980300319762710280722182219337819485262, 8950431855499888765825807120133883814986861716725771387614680145772266006338061859966]

2017年11月6日月曜日

171106

Ruby


8765432 * 8 = 70123456

数遊びをしてみる。

def show(ary, k, n)
  ary.each{|i| puts "#{i} * #{k} = #{i * k}"}
end

n = 20
ary = (0..n).map{|i| ((9 * i + 8) * 10 ** i - 8) / 81}
show(ary, 8, n)
show(ary, 9, n)
ary = (0..n).map{|i| ((-9 * i + 82) * 10 ** i - 1) / 81}
show(ary, 8, n)
show(ary, 9, n)

出力結果
0 * 8 = 0
2 * 8 = 16
32 * 8 = 256
432 * 8 = 3456
5432 * 8 = 43456
65432 * 8 = 523456
765432 * 8 = 6123456
8765432 * 8 = 70123456
98765432 * 8 = 790123456
1098765432 * 8 = 8790123456
12098765432 * 8 = 96790123456
132098765432 * 8 = 1056790123456
1432098765432 * 8 = 11456790123456
15432098765432 * 8 = 123456790123456
165432098765432 * 8 = 1323456790123456
1765432098765432 * 8 = 14123456790123456
18765432098765432 * 8 = 150123456790123456
198765432098765432 * 8 = 1590123456790123456
2098765432098765432 * 8 = 16790123456790123456
22098765432098765432 * 8 = 176790123456790123456
232098765432098765432 * 8 = 1856790123456790123456
0 * 9 = 0
2 * 9 = 18
32 * 9 = 288
432 * 9 = 3888
5432 * 9 = 48888
65432 * 9 = 588888
765432 * 9 = 6888888
8765432 * 9 = 78888888
98765432 * 9 = 888888888
1098765432 * 9 = 9888888888
12098765432 * 9 = 108888888888
132098765432 * 9 = 1188888888888
1432098765432 * 9 = 12888888888888
15432098765432 * 9 = 138888888888888
165432098765432 * 9 = 1488888888888888
1765432098765432 * 9 = 15888888888888888
18765432098765432 * 9 = 168888888888888888
198765432098765432 * 9 = 1788888888888888888
2098765432098765432 * 9 = 18888888888888888888
22098765432098765432 * 9 = 198888888888888888888
232098765432098765432 * 9 = 2088888888888888888888
1 * 8 = 8
9 * 8 = 72
79 * 8 = 632
679 * 8 = 5432
5679 * 8 = 45432
45679 * 8 = 365432
345679 * 8 = 2765432
2345679 * 8 = 18765432
12345679 * 8 = 98765432
12345679 * 8 = 98765432
-987654321 * 8 = -7901234568
-20987654321 * 8 = -167901234568
-320987654321 * 8 = -2567901234568
-4320987654321 * 8 = -34567901234568
-54320987654321 * 8 = -434567901234568
-654320987654321 * 8 = -5234567901234568
-7654320987654321 * 8 = -61234567901234568
-87654320987654321 * 8 = -701234567901234568
-987654320987654321 * 8 = -7901234567901234568
-10987654320987654321 * 8 = -87901234567901234568
-120987654320987654321 * 8 = -967901234567901234568
1 * 9 = 9
9 * 9 = 81
79 * 9 = 711
679 * 9 = 6111
5679 * 9 = 51111
45679 * 9 = 411111
345679 * 9 = 3111111
2345679 * 9 = 21111111
12345679 * 9 = 111111111
12345679 * 9 = 111111111
-987654321 * 9 = -8888888889
-20987654321 * 9 = -188888888889
-320987654321 * 9 = -2888888888889
-4320987654321 * 9 = -38888888888889
-54320987654321 * 9 = -488888888888889
-654320987654321 * 9 = -5888888888888889
-7654320987654321 * 9 = -68888888888888889
-87654320987654321 * 9 = -788888888888888889
-987654320987654321 * 9 = -8888888888888888889
-10987654320987654321 * 9 = -98888888888888888889
-120987654320987654321 * 9 = -1088888888888888888889

2017年10月9日月曜日

171009

Ruby


PD(n), PD_t(n), PDO(n) and PDO_t(n)

つい最近の論文だが、
Bernard L. S. Lin, The number of tagged parts over the partitions with designated summands, Journal of Number Theory.
においてPD_t(n) と PDO_t(n) が考え出されたので、数えてみた。
n の分割を一つずつcheck しているので、かなり遅いコードです。

# 和因子はmin以上max以下
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

def PD(n)
  partition(n, 1, n).map{|i| i.each_with_object(Hash.new(0)){|v, o| o[v] += 1}.values.inject(:*)}.inject(:+)
end

def PD_t(n)
  partition(n, 1, n).map{|i| i.each_with_object(Hash.new(0)){|v, o| o[v] += 1}.values}.map{|i| i.size * i.inject(:*)}.inject(:+)
end

def PDO(n)
  partition(n, 1, n).select{|i| i.all?{|j| j.odd?}}.map{|a| a.each_with_object(Hash.new(0)){|v, o| o[v] += 1}.values.inject(:*)}.inject(:+)
end

def PDO_t(n)
  partition(n, 1, n).select{|i| i.all?{|j| j.odd?}}.map{|a| a.each_with_object(Hash.new(0)){|v, o| o[v] += 1}.values}.map{|i| i.size * i.inject(:*)}.inject(:+)
end

n = 40
p (1..n).map{|i| PD(i)}
p (1..n).map{|i| PD_t(i)}
p (1..n).map{|i| PDO(i)}
p (1..n).map{|i| PDO_t(i)}

出力結果
[1, 3, 5, 10, 15, 28, 41, 69, 102, 160, 231, 352, 498, 732, 1027, 1470, 2031, 2856, 3896, 5382, 7272, 9896, 13233, 17800, 23579, 31362, 41219, 54288, 70791, 92456, 119698, 155097, 199512, 256664, 328134, 419436, 533162, 677412, 856573, 1082284]
[1, 3, 6, 13, 24, 45, 77, 132, 213, 346, 537, 834, 1257, 1893, 2778, 4077, 5865, 8421, 11903, 16785, 23364, 32444, 44562, 61041, 82859, 112164, 150639, 201768, 268413, 356100, 469636, 617724, 808236, 1054802, 1370127, 1775286, 2290610, 2948427, 3780717, 4836814]
[1, 2, 4, 5, 8, 12, 16, 22, 32, 42, 56, 76, 98, 128, 168, 213, 272, 348, 436, 548, 688, 852, 1056, 1308, 1603, 1964, 2404, 2920, 3544, 4296, 5176, 6230, 7488, 8958, 10704, 12772, 15182, 18024, 21368, 25254]
[1, 2, 4, 6, 10, 16, 24, 36, 52, 74, 104, 144, 196, 264, 352, 468, 614, 800, 1036, 1332, 1704, 2168, 2744, 3456, 4331, 5408, 6724, 8328, 10278, 12640, 15496, 18936, 23072, 28030, 33960, 41040, 49470, 59488, 71368, 85428]

2017年9月24日日曜日

170924

Ruby


途中で自身と交差しないgolygon の数

自身と交差しないように伸ばしていき、始点と終点が一致したらカウントする。
以下において、線対称のものや点対称なものは同一なものとみなすために、[[0, 0], [1, 0], [1, 1], [1, 2]] から出発している。

def A(n)
  b_ary = [[[0, 0], [1, 0], [1, 1], [1, 2]]]
  s = 4
  (3..n).each{|i|
    s += i
    t = 0
    f_ary, b_ary = b_ary, []
    if i % 2 == 1
      f_ary.each{|a|
        b = a.clone
        x, y = *b[-1]
        b += (1..i).map{|j| [x + j, y]}
        b_ary << b if b.uniq.size == s
        t += 1 if b[-1] == [0, 0] && b.uniq.size == s - 1
        c = a.clone
        x, y = *c[-1]
        c += (1..i).map{|j| [x - j, y]}
        b_ary << c if c.uniq.size == s
        t += 1 if c[-1] == [0, 0] && c.uniq.size == s - 1
      }
    else
      f_ary.each{|a|
        b = a.clone
        x, y = *b[-1]
        b += (1..i).map{|j| [x, y + j]}
        b_ary << b if b.uniq.size == s
        t += 1 if b[-1] == [0, 0] && b.uniq.size == s - 1
        c = a.clone
        x, y = *c[-1]
        c += (1..i).map{|j| [x, y - j]}
        b_ary << c if c.uniq.size == s
        t += 1 if c[-1] == [0, 0] && c.uniq.size == s - 1
      }
    end
    p [i, b_ary.size, t]
  }
end

A(24)

出力結果
[3, 2, 0]
[4, 4, 0]
[5, 8, 0]
[6, 16, 0]
[7, 29, 1]
[8, 54, 1]
[9, 98, 0]
[10, 176, 0]
[11, 318, 0]
[12, 572, 0]
[13, 1026, 0]
[14, 1826, 0]
[15, 3255, 1]
[16, 5794, 3]
[17, 10233, 0]
[18, 18172, 0]
[19, 32012, 0]
[20, 56488, 0]
[21, 99469, 0]
[22, 175034, 0]
[23, 307479, 25]
[24, 540068, 67]

2017年9月17日日曜日

170917

Ruby


Product_{k=1..n} (1 - k^k*x^k) 等(1)

いろいろ計算してみた。

# m次以下を取り出す
def mul(f_ary, b_ary, m)
  s1, s2 = f_ary.size, b_ary.size
  ary = Array.new(s1 + s2 - 1, 0)
  (0..s1 - 1).each{|i|
    (0..s2 - 1).each{|j|
      ary[i + j] += f_ary[i] * b_ary[j]
    }
  }
  ary[0..m]
end

def q(n)
  ary = [1]
  (1..n).each{|i|
    b_ary = Array.new(i + 1, 0)
    b_ary[0], b_ary[-1] = 1, -1 * i ** i
    ary = mul(ary, b_ary, n)
  }
  ary
end

def r(n)
  ary = [1]
  (1..n).each{|i|
    b_ary = Array.new(i + 1, 0)
    b_ary[0], b_ary[-1] = 1, i ** i
    ary = mul(ary, b_ary, n)
  }
  ary
end

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

n = 30
p ary0 = q(n)
p ary1 = r(n)
p ary2 = I(ary0, n)
p ary3 = I(ary1, n)
p mul(ary2, ary1, n)
p mul(ary3, ary0, n)

出力結果
[1, -1, -4, -23, -229, -2761, -42615, -758499, -15702086, -365588036, -9516954786, -273061566624, -8575969258607, -292418459301779, -10762887030763337, -425243370397722674, -17953905924215881215, -806666656048846472309, -38431184040433830671913, -1935181289882115032490348, -102696392415846742681733803, -5728632608276744273452117182, -335107577316074301942345694886, -20512630873623057901876906465743, -1311322803795912839879249103895553, -87390960343889620272724433296491880, -6061384949468492645254259961399089464, -436878303197147196764997753948315233462, -32675044025947179003139330924063144267098, -2532599985989370726380519904538079256177793, -203178927579931810874025726965036433479741952]
[1, 1, 4, 31, 283, 3489, 50913, 890635, 17891170, 409850236, 10494427982, 297780829216, 9261266862273, 313453533534739, 11464487066049791, 450644378868285130, 18942868694407904729, 847930346323808122469, 40266107916200371331007, 2021842180288047801103956, 107026915281000730387703597, 5956920792270319632604392638, 347766996555495797707882798050, 21249290771649866280391823962687, 1356203113541047768153856405218415, 90247872040648581142764137451127200, 6251045242578198262043978824453943552, 449986789520111038545971104837143420374, 33616803977128282789561343587331315553990, 2602827576431911410805372650653659864258097, 208607296163683382331588381297500504996596528]
[1, 1, 5, 32, 304, 3537, 52010, 895397, 18016416, 410889848, 10523505770, 298220329546, 9274349837081, 313761671751672, 11474635626789410, 450964042480390679, 18954785687060988578, 848386888530723146912, 40285405287225043910550, 2022698192735125064374800, 107067613600574960842869576, 5958957516540411012538481312, 347874804978251035491293556717, 21255282815702806741512542156320, 1356552811381527011063310886545470, 90269224251818008284503526617607078, 6252407532636283837248750189467023717, 450077403312833906134664153832793562364, 33623078468794716158752737057969922475976, 2603279113832594183853952144206489719837940, 208641020463859049059313644666998258355430174]
[1, -1, -3, -24, -216, -2801, -42166, -762397, -15685040, -366477168, -9523974486, -273453483050, -8583651341879, -292700900034984, -10770969729108326, -425541512224476567, -17964544188354355022, -807097409926675847400, -38449179088918106730042, -1935995586006883907808752, -102735038083633766766200104, -5730581947986227695150297888, -335210860205816356266926854547, -20518393122544722624597111147808, -1311659607987077558310145244098602, -87411571945797047722216818621423270, -6062701957007870019784615581091956971, -436966047377686875806620404700796453836, -32681127837457227556660506055780683473056, -2533038365769715605507253992215447626184148, -203211706477802433958484054091329820521418882]
[1, 2, 10, 72, 670, 7896, 113572, 1939028, 38463550, 869985586, 22098989952, 622728621984, 19271496576612, 649553583740576, 23680212403186584, 928276782505698920, 38931911577966732814, 1739307919812511213916, 82457732209611432170734, 4134332214683068511774360, 218571693750448020952237320, 12151433216474061126692855544, 708681796526773664772725730484, 43262208674596350481233572256220, 2758850451023924655314677909544156, 183447630069846653980774132586045578, 12697779769212378577890958151960322616, 913481287056820111505540890891259894512, 68202897342458921851677850241305214595856, 5277856400612667842830537137988358006717320, 422789855843929721189297554892073186276560960]
[1, -2, -6, -40, -386, -4952, -77116, -1406164, -29389570, -692122610, -18136684128, -523599632000, -16516245738140, -565284631133600, -20867650682241704, -826570263691236456, -34971594470460748146, -1574134630989710480092, -75112891524338162634738, -3787501458905707932689624, -201240964401742491982486232, -11237894858423246782723969912, -658024667786251446968867597516, -40314567351662431043301810882140, -2579273656774611774378855454069348, -172016784947022142035636886184836810, -11938944232415141586380847510506717576, -861035041333795546595133505653207412816, -64435043361878584792236753365477810430576, -4996889981730534854860472118983399729109384, -401072365202100827015447833505813210666185920]

2017年8月27日日曜日

170827

Ruby


j がn 以下のとき、Sum_{i=1..j} s_i | Product_{i=1..j} s_i を満たす1~n の順列

小学生のときから何度か考えた問題だったのですが、
昨日まで自明な[1] 以外に答えがあるかわかりませんでした。
実はこれ以外にも条件を満たすものがあります。

例えば、[10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 3, 7, 1, 9, 12] が条件を満たします。
Excel で簡単に確認できます。

10 10 10 1
15 25 150 6
5 30 750 25
6 36 4,500 125
4 40 18,000 450
8 48 144,000 3,000
2 50 288,000 5,760
14 64 4,032,000 63,000
11 75 44,352,000 591,360
13 88 576,576,000 6,552,000
3 91 1,729,728,000 19,008,000
7 98 12,108,096,000 123,552,000
1 99 12,108,096,000 122,304,000
9 108 108,972,864,000 1,009,008,000
12 120 1,307,674,368,000 10,897,286,400

n が17以下のとき、条件を満たすものを探してみた。

def search(a, prod, sum, size, num)
  if num == size + 1
    @ary << a.clone
  else
    (1..size).each{|i|
      p, s = prod * i, sum + i
      if a[i - 1] == 0 && p % s == 0
        a[i - 1] = num
        search(a, p, s, size, num + 1)
        a[i - 1] = 0
      end
    }
  end
end

def A(n)
  a = [0] * n
  @ary = []
  search(a, 1, 0, n, 1)
  @ary.map{|i| (1..n).map{|j| i.index(j) + 1}}
end

n = 17
(1..n).each{|i| p [i, A(i)]}

出力結果
[1, [[1]]]
[2, []]
[3, []]
[4, []]
[5, []]
[6, []]
[7, []]
[8, []]
[9, []]
[10, []]
[11, []]
[12, []]
[13, []]
[14, []]
[15, [[10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 3, 7, 1, 9, 12], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 7, 1, 9, 4, 8], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 9, 4, 1, 7, 8], [10, 15, 5, 6, 14, 13, 2, 7, 8, 11, 9, 4, 1, 3, 12], [10, 15, 5, 6, 14, 13, 2, 7, 8, 11, 9, 4, 1, 12, 3], [10, 15, 5, 6, 14, 13, 7, 2, 8, 11, 9, 4, 1, 3, 12], [10, 15, 5, 6, 14, 13, 7, 2, 8, 11, 9, 4, 1, 12, 3], [10, 15, 5, 6, 14, 13, 7, 8, 2, 11, 9, 4, 1, 3, 12], [10, 15, 5, 6, 14, 13, 7, 8, 2, 11, 9, 4, 1, 12, 3], [10, 15, 5, 6, 14, 13, 9, 8, 11, 7, 2, 4, 1, 3, 12], [10, 15, 5, 6, 14, 13, 9, 8, 11, 7, 2, 4, 1, 12, 3], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 7, 1, 9, 4, 8], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 9, 4, 1, 7, 8], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 3, 7, 1, 9, 12], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 7, 1, 9, 4, 8], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 9, 4, 1, 7, 8], [15, 10, 5, 6, 14, 13, 2, 7, 8, 11, 9, 4, 1, 3, 12], [15, 10, 5, 6, 14, 13, 2, 7, 8, 11, 9, 4, 1, 12, 3], [15, 10, 5, 6, 14, 13, 7, 2, 8, 11, 9, 4, 1, 3, 12], [15, 10, 5, 6, 14, 13, 7, 2, 8, 11, 9, 4, 1, 12, 3], [15, 10, 5, 6, 14, 13, 7, 8, 2, 11, 9, 4, 1, 3, 12], [15, 10, 5, 6, 14, 13, 7, 8, 2, 11, 9, 4, 1, 12, 3], [15, 10, 5, 6, 14, 13, 9, 8, 11, 7, 2, 4, 1, 3, 12], [15, 10, 5, 6, 14, 13, 9, 8, 11, 7, 2, 4, 1, 12, 3], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 7, 1, 9, 4, 8], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 9, 4, 1, 7, 8]]]
[16, []]
[17, [[10, 15, 5, 6, 4, 8, 2, 14, 11, 9, 12, 16, 13, 1, 17, 7, 3], [10, 15, 5, 6, 4, 8, 2, 14, 11, 9, 16, 12, 13, 1, 17, 7, 3], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 3, 7, 12, 16, 17, 1, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 3, 17, 12, 16, 7, 1, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 12, 17, 3, 16, 7, 1, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 16, 1, 3, 17, 7, 12, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 16, 1, 12, 9, 17, 7, 3], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 17, 3, 12, 16, 7, 1, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 17, 7, 16, 12, 3, 1, 9], [10, 15, 5, 6, 4, 8, 2, 14, 11, 13, 17, 12, 3, 16, 7, 1, 9], [10, 15, 5, 6, 4, 8, 16, 11, 13, 2, 14, 1, 3, 17, 7, 12, 9], [10, 15, 5, 6, 4, 8, 16, 11, 13, 2, 14, 1, 12, 9, 17, 7, 3], [10, 15, 5, 6, 12, 2, 14, 11, 9, 4, 8, 16, 13, 1, 17, 7, 3], [10, 15, 5, 6, 12, 2, 14, 11, 9, 16, 8, 4, 13, 1, 17, 7, 3], [10, 15, 5, 6, 12, 2, 14, 11, 9, 16, 8, 17, 3, 7, 1, 4, 13], [10, 15, 5, 6, 12, 2, 14, 11, 9, 16, 8, 17, 7, 3, 1, 4, 13], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 1, 8, 16, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 1, 16, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 16, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 16, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 8, 16, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 7, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 7, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 8, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 8, 4, 17, 3, 16, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 1, 3, 17, 7, 4, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 1, 3, 17, 7, 8, 4, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 9, 8, 1, 17, 7, 3], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 1, 9, 8, 7, 3], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 7, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 7, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 8, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 3, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 3, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 8, 3, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 1, 8, 16, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 1, 16, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 16, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 16, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 8, 16, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 7, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 7, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 8, 7, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 7, 8, 16, 4, 3, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 3, 1, 8, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 3, 8, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 8, 3, 1, 9], [10, 15, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 8, 4, 3, 1, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 9, 1, 8, 17, 7, 4, 14, 3], [10, 15, 5, 6, 12, 16, 11, 13, 2, 9, 1, 17, 8, 7, 4, 14, 3], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 1, 3, 17, 7, 4, 8, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 1, 3, 17, 7, 8, 4, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 9, 8, 1, 17, 7, 3], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 1, 9, 8, 7, 3], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 7, 1, 8, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 7, 8, 1, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 8, 7, 1, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 3, 1, 8, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 3, 8, 1, 9], [10, 15, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 8, 4, 12, 9], [10, 15, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 8, 12, 4, 9], [10, 15, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 12, 4, 8, 9], [10, 15, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 12, 8, 4, 9], [10, 15, 5, 6, 14, 13, 2, 7, 8, 4, 16, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 8, 16, 4, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 8, 16, 12, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 4, 1, 3, 17, 11, 8, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 8, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 17, 8, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 8, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 8, 4, 12, 9], [10, 15, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 8, 12, 4, 9], [10, 15, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 12, 4, 8, 9], [10, 15, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 12, 8, 4, 9], [10, 15, 5, 6, 14, 13, 7, 2, 8, 4, 16, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 8, 16, 4, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 8, 16, 12, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 4, 1, 3, 17, 11, 8, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 8, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 17, 8, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 8, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 8, 2, 4, 16, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 8, 2, 16, 4, 17, 11, 12, 3, 1, 9], [10, 15, 5, 6, 14, 13, 7, 8, 2, 16, 12, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 1, 8, 16, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 1, 16, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 16, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 16, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 16, 8, 17, 11, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 8, 11, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 7, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 7, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 8, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 1, 8, 16, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 1, 16, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 16, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 16, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 8, 16, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 7, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 7, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 8, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 4, 8, 17, 11, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 8, 11, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 7, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 7, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 8, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 3, 2, 16, 8, 4, 17, 11, 7, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 4, 1, 3, 17, 11, 8, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 8, 17, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 17, 8, 11, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 8, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 8, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 8, 4, 3, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 3, 1, 8, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 3, 8, 1, 9], [10, 15, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 8, 3, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 9, 12, 16, 13, 1, 17, 7, 3], [15, 10, 5, 6, 4, 8, 2, 14, 11, 9, 16, 12, 13, 1, 17, 7, 3], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 3, 7, 12, 16, 17, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 3, 17, 12, 16, 7, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 12, 17, 3, 16, 7, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 16, 1, 3, 17, 7, 12, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 16, 1, 12, 9, 17, 7, 3], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 17, 3, 12, 16, 7, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 17, 7, 16, 12, 3, 1, 9], [15, 10, 5, 6, 4, 8, 2, 14, 11, 13, 17, 12, 3, 16, 7, 1, 9], [15, 10, 5, 6, 4, 8, 16, 11, 13, 2, 14, 1, 3, 17, 7, 12, 9], [15, 10, 5, 6, 4, 8, 16, 11, 13, 2, 14, 1, 12, 9, 17, 7, 3], [15, 10, 5, 6, 12, 2, 14, 11, 9, 4, 8, 16, 13, 1, 17, 7, 3], [15, 10, 5, 6, 12, 2, 14, 11, 9, 16, 8, 4, 13, 1, 17, 7, 3], [15, 10, 5, 6, 12, 2, 14, 11, 9, 16, 8, 17, 3, 7, 1, 4, 13], [15, 10, 5, 6, 12, 2, 14, 11, 9, 16, 8, 17, 7, 3, 1, 4, 13], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 1, 8, 16, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 1, 16, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 16, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 7, 16, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 8, 16, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 7, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 7, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 3, 17, 4, 16, 8, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 8, 4, 17, 3, 16, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 1, 3, 17, 7, 4, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 1, 3, 17, 7, 8, 4, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 9, 8, 1, 17, 7, 3], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 1, 9, 8, 7, 3], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 7, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 7, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 3, 8, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 3, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 3, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 16, 4, 17, 7, 8, 3, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 1, 8, 16, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 1, 16, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 16, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 7, 16, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 8, 16, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 7, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 7, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 3, 4, 16, 8, 7, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 7, 8, 16, 4, 3, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 3, 1, 8, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 3, 8, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 4, 8, 3, 1, 9], [15, 10, 5, 6, 12, 2, 14, 11, 13, 17, 7, 16, 8, 4, 3, 1, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 9, 1, 8, 17, 7, 4, 14, 3], [15, 10, 5, 6, 12, 16, 11, 13, 2, 9, 1, 17, 8, 7, 4, 14, 3], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 1, 3, 17, 7, 4, 8, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 1, 3, 17, 7, 8, 4, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 9, 8, 1, 17, 7, 3], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 1, 9, 8, 7, 3], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 7, 1, 8, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 7, 8, 1, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 3, 8, 7, 1, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 3, 1, 8, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 3, 8, 1, 9], [15, 10, 5, 6, 12, 16, 11, 13, 2, 14, 4, 17, 7, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 8, 4, 12, 9], [15, 10, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 8, 12, 4, 9], [15, 10, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 12, 4, 8, 9], [15, 10, 5, 6, 14, 13, 2, 7, 3, 16, 17, 11, 1, 12, 8, 4, 9], [15, 10, 5, 6, 14, 13, 2, 7, 8, 4, 16, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 8, 16, 4, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 8, 16, 12, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 4, 1, 3, 17, 11, 8, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 8, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 17, 8, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 4, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 2, 7, 12, 16, 17, 11, 8, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 8, 4, 12, 9], [15, 10, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 8, 12, 4, 9], [15, 10, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 12, 4, 8, 9], [15, 10, 5, 6, 14, 13, 7, 2, 3, 16, 17, 11, 1, 12, 8, 4, 9], [15, 10, 5, 6, 14, 13, 7, 2, 8, 4, 16, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 8, 16, 4, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 8, 16, 12, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 4, 1, 3, 17, 11, 8, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 8, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 17, 8, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 4, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 2, 12, 16, 17, 11, 8, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 8, 2, 4, 16, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 8, 2, 16, 4, 17, 11, 12, 3, 1, 9], [15, 10, 5, 6, 14, 13, 7, 8, 2, 16, 12, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 1, 8, 16, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 1, 16, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 16, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 7, 17, 11, 16, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 16, 8, 17, 11, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 8, 11, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 7, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 7, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 4, 16, 17, 11, 8, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 1, 8, 16, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 1, 16, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 16, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 7, 16, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 8, 16, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 7, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 7, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 11, 17, 4, 16, 8, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 4, 8, 17, 11, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 8, 11, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 7, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 7, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 4, 17, 11, 8, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 3, 2, 16, 8, 4, 17, 11, 7, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 4, 1, 3, 17, 11, 8, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 8, 17, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 17, 8, 11, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 4, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 7, 2, 17, 11, 8, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 4, 7, 11, 2, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 4, 8, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 2, 8, 4, 3, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 3, 1, 8, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 3, 8, 1, 9], [15, 10, 5, 6, 14, 13, 12, 16, 17, 11, 7, 4, 2, 8, 3, 1, 9]]]

2017年8月26日土曜日

170826

New game(Cubes)(2)

1~n のカードを使った場合を考える。
最初の人が1 とn 以外を引き、n 番目の人が1 とn 以外で終わる
場合があるか考えてみた。

今のところ以下の場合が見つかった。
n = 6
[[2, 1, 6, 5, 4, 3], [2, 6, 1, 5, 4, 3]]
n = 7
[[2, 1, 6, 5, 7, 3, 4], [2, 6, 1, 5, 7, 3, 4], [3, 1, 5, 7, 2, 6, 4], [3, 5, 1, 7, 2, 6, 4], [3, 5, 7, 1, 2, 6, 4], [3, 7, 5, 1, 2, 6, 4], [5, 1, 3, 7, 2, 6, 4], [5, 3, 1, 7, 2, 6, 4], [5, 3, 7, 1, 2, 6, 4], [5, 7, 3, 1, 2, 6, 4], [6, 1, 2, 5, 7, 3, 4], [6, 2, 1, 5, 7, 3, 4]]

例えば、
2 | 2^3 (2 | 8),
2 + 1 | 2^3 + 1^3 (3 | 9),
2 + 1 + 6 | 2^3 + 1^3 + 6^3 (9 | 225),
2 + 1 + 6 + 5 | 2^3 + 1^3 + 6^3 + 5^3 (14 | 350),
2 + 1 + 6 + 5 + 4 | 2^3 + 1^3 + 6^3 + 5^3 + 4^3 (18 | 414),
2 + 1 + 6 + 5 + 4 + 3 | 2^3 + 1^3 + 6^3 + 5^3 + 4^3 + 3^3 (21 | 441)
なので、[2, 1, 6, 5, 4, 3] は条件を満たす。

2017年8月24日木曜日

170824

New game(Cubes)(1)

2~4人用のゲームを考えてみました。

①最初の人が1~13 のカードから一枚引きます。
sum1 は引いたカードから始めます。
sum3 は引いたカードの3乗から始めます。
例えば、引いたカードが5 とします。
sum1 は5、sum3 は125からとなります。

②次の人は以下の条件を満たす数字を言わないと負けです。
ア)1~13 でまだ使われていない数字 (x とする) である。
sum1 += x, sum3 += x^3 とし、
イ)sum3 がsum1 で割り切れる。

③まだ使われていない数字が一つになっても勝負が決まらなかったら、
負けていない人全員が勝ちです。