# Please use Nim-ACL import macros; macro ImportExpand(s:untyped):untyped = parseStmt(staticExec("echo " & $s[2] & " | base64 -d | xzcat")) # const OPTIMIZE_SIZE = true const DO_CHECK = false ImportExpand "e_lib/templates/prelude.nim" <=== "/Td6WFoAAATm1rRGBMDVAbcDIQEcAAAAAAAAACCR30TgAbYAzV0AO5oI1C1idKD0QZYV0fOAnhkRk8DYDgYLvW4kETVDkMKYnqKn4EdJ45ADEotk3Fzy6+uCgtloS+R+zMfrO1PsKrD6PAItU12dFn+j36AJr0C5lQKxDi/W1Pg0oxGvMT8WS8YU4PB6HfUIzjQNtyTxD7iSOvQroY/x27WsBEEypTKbCivXXtbhkrLA7v//ircG/SHYno1AzzS2GrGoUaXwKUTZZqARMGIqi7UOWlW8c7l+/UyOfWXxE1aFEIVXatIpNJ90ahL9yg41vb8AAAAAAABSO8+SHsHkDwAB8QG3AwAAq/8YorHEZ/sCAAAAAARZWg==" ImportExpand "e_lib/templates/header.nim" <=== "/Td6WFoAAATm1rRGBMCaCfgaIQEcAAAAAAAAAIXTvZ7gDXcEkl0AO5oI1C1idKD0QZYV0fOAnhkRk8DYDgYLvW4kETVDkMKYnp/fJa19efd+dBLhqKM27qXxSjp+2XYWpxVZPG6LaSOrKVt4rGQsWhmoP3rfo51NQlWw/70ZvGLp/YOOBtkOb6RN0tHeu/P5Ubha/OiyUYEOH6Roz89Az9XuRZO6ckn8E5iwy0uEobq0Po1C7BkF+uiJcd2r4Jx7e1WlqwvDHUv7ZOiHVwi7gx60zOZ8oalb+NEHIZjr8xwMl6W/awT8CzlxE/ojjrptxyElfVbuG5dYlr6/GxdTXh65Zo+usp6oA7q5yz/k9H4n/HJhKn72CPY+XP/wgLIsHK6z0fCzf9Jeb05qVOUN3C83VnmQeYDYYn/J++4mRkcnDJoioHqpJx6Et46KYMu8i2UZbwDjVK36xMx2Nkce0mG93svBpMxM7+srhrnmI0s0wmaOazXeE9Sa0z+ev2lUPYp515ZurRt5HJFnVh7G7yqmhylJp1W7V+lCjuynGdGV5nkwp/glMc2Htjg5OUlVSZyfbX9/Jn0uW1NJXGOlLAyRyyPlM+ByWDmYKPPM0B4yfet17GbwC4gAvrwjBOn61qlIS6w0PA2uOMcYEGaQvmwHA5THSeR/ScQWFbkr77Lm66QMh5JaViIqM5Oz/Mf/bjg7Eaz4ot5vM/o4UqfpwFoO/LKfw2NIo2eNXocjLC7b30eHT3siVitc6v3gt2PbhlRWfx5+YBAvxE7+b2GtT5Ixw8/P8h4QkpllwsMGAbV8HKHA/SU1H9u5cVIvCKY8LUPTwh/np3ywn55d55UEWgf297aqx9gY3i+4i0HPEOB3rMRkK2kwmHK1IeutalGQov8qqrzeQ5nxlJm/K0FGAIZ8dKAeKV8cn78Mppb2iWGGdh78Gf9j4VHDPIbbJJEiG1oFiBUyGYSFlY1pd0TJnjoT8OMm33XBa7Ohg4FS51sTKAaU7lAtXv8WNWwL2yU+1w7gdCARnyNRwOgSxT5qHcsybcPxhZQ/b2bWDL7emQXIGulLxnQlceC30x+c9KWOKTPcplPQUF723y1TegKdyySkw8BI8mju/owDHR8Ro8sF5oBurihNcFdsogKmGMK4+Qu3uvdKyCetHm7oM5DX2dG57bQbgXfnZEQKs6LAAvwgx/wZ9WCmbKoHNb3W0DbBqgRcQxLoJUCPUBY7xc4Y4VhuSaGTRst50Zjhl//avwmFqjQQsc1zCQ3lVT+EJCV6xL7RdTJ6X0Ubao00I9KP1G88VMOsNSEmmG0TLiAGxed0pE/UJf3S8zusarKZqqauJ+u8FK/qjXO4VZmFPeOhFUeWysilqj3hQF8rlfSmV7H+ZuwijtegX8C5nagGSGnJUt3FzsGMboHq8qELQKHGd4Q4T1xueaN10vgH6/ZP3D9myajy+/xaUg7iK5uRb4UFP38ASrCINpNvI6tGrxgQoepX4nXAGiu4cycbJvkKO3tOsJxgz/Hihvx10ro+WULRG2ZT6sY18el3Yz1kaL4CWDFWgbhOODO6PIAZc/7ahJpeV0Kjo4AXeQUEOzCUco8JRAcwPsAXCFUFAAAAC8LwdCe+edkAAbYJ+BoAACpetVCxxGf7AgAAAAAEWVo=" randomize(7018982539363905355) const YES = "Yes" const NO = "No" proc `$`(a:bool):string = return if a: YES else: NO proc solve():void = return proc main():void = # Failed to predict input format let N = nextInt() let A = newSeqWith(N*N,nextInt()) if N >= 4: stdout.writeLine(Yes) var re0 = initTable[int,array[15,int8]]() var te1: array[15,int8] for i in 0..<15: te1[i] = i.int8 var te2 = 0u16 var re1 = 0 while true: shuffle(te1) te2 = 0u16 re1 = 0 for i in te1: re1 += (te2 shr i).countSetBits te2.setBit(i) if re1.testBit(0): continue let te3 = (0..<15).foldl(a+A[b+1]*(te1[b]+1).int,0) if re0.hasKey(te3): if re0[te3] == te1: continue let te4 = re0[te3] var i0 = 0 for i in 0..