return (function(a, b) local c = select local d = string.byte local e = string.sub local f = string.char local g = { {b = "OpArgR", c = "OpArgN"}, {b = "OpArgK", c = "OpArgN"}, {b = "OpArgU", c = "OpArgU"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgU", c = "OpArgN"}, {b = "OpArgK", c = "OpArgN"}, {b = "OpArgR", c = "OpArgK"}, {b = "OpArgK", c = "OpArgN"}, {b = "OpArgU", c = "OpArgN"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgU", c = "OpArgU"}, {b = "OpArgR", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgR", c = "OpArgR"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgK", c = "OpArgK"}, {b = "OpArgR", c = "OpArgU"}, {b = "OpArgR", c = "OpArgU"}, {b = "OpArgU", c = "OpArgU"}, {b = "OpArgU", c = "OpArgU"}, {b = "OpArgU", c = "OpArgN"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgR", c = "OpArgN"}, {b = "OpArgN", c = "OpArgU"}, {b = "OpArgU", c = "OpArgU"}, {b = "OpArgN", c = "OpArgN"}, {b = "OpArgU", c = "OpArgN"}, {b = "OpArgU", c = "OpArgN"} } local h = { "ABC", "ABx", "ABC", "ABC", "ABC", "ABx", "ABC", "ABx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "ABC", "AsBx", "AsBx", "ABC", "ABC", "ABC", "ABx", "ABC" } local i = "" for j, k in pairs(a) do i = i .. f(k) end a = i local function l(m, n, o) if o then local p = m / 2 ^ (n - 1) % 2 ^ (o - 1 - (n - 1) + 1) return p - p % 1 else local q = 2 ^ (n - 1) if m % (q + q) >= q then return 1 else return 0 end end end local function r(s) local t = 1 local u local v local function w() local x = d(s, t, t) t = t + 1 return x end local function y() local k, z, A, B = d(s, t, t + 3) t = t + 4 return B * 16777216 + A * 65536 + z * 256 + k end local function C() return y() * 4294967296 + y() end local function D() local E = y() local F = y() local G = 1 local H = l(F, 1, 20) * 2 ^ 32 + E local I = l(F, 21, 31) local J = (-1) ^ l(F, 32) if I == 0 then if H == 0 then return J * 0 else I = 1 G = 0 end elseif I == 2047 then if H == 0 then return J * 1 / 0 else return J * 0 / 0 end end return math.ldexp(J, I - 1023) * (G + H / 2 ^ 52) end local function K(L) local M if L then M = e(s, t, t + L - 1) t = t + L else L = u() if L == 0 then return end M = e(s, t, t + L - 1) t = t + L end return M end local function N() local O = {} local P = {} local Q = {} local R = { Instr = O, Const = P, Proto = Q, Lines = {}, Name = K(), FirstL = v(), LastL = v(), Upvals = w(), Args = w(), Vargs = w(), Stack = w() } local S = {} if R.Name then R.Name = e(R.Name, 1, -2) end for T = 1, v() do local U = y() local V = l(U, 1, 6) local W = h[V + 1] local X = g[V + 1] local Y = {Enum = V, Value = U, l(U, 7, 14)} if W == "ABC" then Y[2] = l(U, 24, 32) Y[3] = l(U, 15, 23) elseif W == "ABx" then Y[2] = l(U, 15, 32) elseif W == "AsBx" then Y[2] = l(U, 15, 32) - 131071 end do if V == 26 or V == 27 then Y[3] = Y[3] == 0 end if V >= 23 and V <= 25 then Y[1] = Y[1] ~= 0 end if X.b == "OpArgK" then Y[3] = Y[3] or false if Y[2] >= 256 then local Z = Y[2] - 256 Y[4] = Z local _ = S[Z] if not _ then _ = {} S[Z] = _ end _[#_ + 1] = {Inst = Y, Register = 4} end end if X.c == "OpArgK" then Y[4] = Y[4] or false if Y[3] >= 256 then local Z = Y[3] - 256 Y[5] = Z local _ = S[Z] if not _ then _ = {} S[Z] = _ end _[#_ + 1] = {Inst = Y, Register = 5} end end end O[T] = Y end for T = 1, v() do local W = w() local Z if W == 1 then Z = w() ~= 0 elseif W == 3 then Z = D() elseif W == 4 then Z = e(K(), 1, -2) end local a0 = S[T - 1] if a0 then for a1 = 1, #a0 do a0[a1].Inst[a0[a1].Register] = Z end end P[T - 1] = Z end for T = 1, v() do Q[T - 1] = N() end do local j = R.Lines for T = 1, v() do j[T] = y() end for a2 = 1, v() do K() y() y() end for a2 = 1, v() do K() end end return R end do assert(K(4) == "\27Lua", "Lua bytecode expected.") assert(w() == 0x51, "Only Lua 5.1 is supported.") w() w() local a3 = w() local a4 = w() if a3 == 4 then v = y elseif a3 == 8 then v = C else error("Integer size not supported", 2) end if a4 == 4 then u = y elseif a4 == 8 then u = C else error("Sizet size not supported", 2) end assert(K(3) == "\4\8\0", "Unsupported bytecode target platform") end return N() end local function a5(...) return c("#", ...), {...} end local function a6(R, b, a7) local O = R.Instr local P = R.Const local Q = R.Proto local function a8(a9, aa) local ab = R.Name or "Code" local ac = R.Lines[aa] or "?" error(string.format("%s:%s: %s", ab, ac, tostring(a9)), 0) end return function(...) local ad, ae = 1, -1 local af, ag = {}, c("#", ...) - 1 local ah = {} local ai = {} local aj = setmetatable( {}, {__index = ah, __newindex = function(a2, ak, al) if ak > ae then ae = ak end ah[ak] = al end} ) local function am() local Y, an while true do Y = O[ad] an = Y.Enum ad = ad + 1 if an == 0 then aj[Y[1]] = aj[Y[2]] elseif an == 1 then aj[Y[1]] = P[Y[2]] elseif an == 2 then aj[Y[1]] = Y[2] ~= 0 if Y[3] ~= 0 then ad = ad + 1 end elseif an == 3 then local ao = aj for T = Y[1], Y[2] do ao[T] = nil end elseif an == 4 then aj[Y[1]] = a7[Y[2]] elseif an == 5 then aj[Y[1]] = b[P[Y[2]]] elseif an == 6 then local ao = aj ao[Y[1]] = ao[Y[2]][Y[5] or ao[Y[3]]] elseif an == 7 then b[P[Y[2]]] = aj[Y[1]] elseif an == 8 then a7[Y[2]] = aj[Y[1]] elseif an == 9 then local ao = aj ao[Y[1]][Y[4] or ao[Y[2]]] = Y[5] or ao[Y[3]] elseif an == 10 then aj[Y[1]] = {} elseif an == 11 then local ao = aj local ap = Y[1] local aq = ao[Y[2]] local ar = Y[5] or ao[Y[3]] ao[ap + 1] = aq ao[ap] = aq[ar] elseif an == 12 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) + (Y[5] or ao[Y[3]]) elseif an == 13 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) - (Y[5] or ao[Y[3]]) elseif an == 14 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) * (Y[5] or ao[Y[3]]) elseif an == 15 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) / (Y[5] or ao[Y[3]]) elseif an == 16 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) % (Y[5] or ao[Y[3]]) elseif an == 17 then local ao = aj ao[Y[1]] = (Y[4] or ao[Y[2]]) ^ (Y[5] or ao[Y[3]]) elseif an == 18 then aj[Y[1]] = -aj[Y[2]] elseif an == 19 then aj[Y[1]] = not aj[Y[2]] elseif an == 20 then aj[Y[1]] = #aj[Y[2]] elseif an == 21 then local ao = aj local aq = Y[2] local as = ao[aq] for T = aq + 1, Y[3] do as = as .. ao[T] end aj[Y[1]] = as elseif an == 22 then ad = ad + Y[2] elseif an == 23 then local ao = aj local aq = Y[4] or ao[Y[2]] local ar = Y[5] or ao[Y[3]] if aq == ar ~= Y[1] then ad = ad + 1 end elseif an == 24 then local ao = aj local aq = Y[4] or ao[Y[2]] local ar = Y[5] or ao[Y[3]] if aq < ar ~= Y[1] then ad = ad + 1 end elseif an == 25 then local ao = aj local aq = Y[4] or ao[Y[2]] local ar = Y[5] or ao[Y[3]] if aq <= ar ~= Y[1] then ad = ad + 1 end elseif an == 26 then if Y[3] then if aj[Y[1]] then ad = ad + 1 end elseif aj[Y[1]] then else ad = ad + 1 end elseif an == 27 then local aq = aj[Y[2]] if Y[3] then if aq then ad = ad + 1 else aj[Y[1]] = aq end elseif aq then aj[Y[1]] = aq else ad = ad + 1 end elseif an == 28 then local ap = Y[1] local aq = Y[2] local ar = Y[3] local ao = aj local at, au local av, aw at = {} if aq ~= 1 then if aq ~= 0 then av = ap + aq - 1 else av = ae end aw = 0 for T = ap + 1, av do aw = aw + 1 at[aw] = ao[T] end av, au = a5(ao[ap](unpack(at, 1, av - ap))) else av, au = a5(ao[ap]()) end ae = ap - 1 if ar ~= 1 then if ar ~= 0 then av = ap + ar - 2 else av = av + ap - 1 end aw = 0 for T = ap, av do aw = aw + 1 ao[T] = au[aw] end end elseif an == 29 then local ap = Y[1] local aq = Y[2] local ao = aj local at, au local av local ax = 0 at = {} if aq ~= 1 then if aq ~= 0 then av = ap + aq - 1 else av = ae end for T = ap + 1, av do at[#at + 1] = ao[T] end au = {ao[ap](unpack(at, 1, av - ap))} else au = {ao[ap]()} end for ay in pairs(au) do if ay > ax then ax = ay end end return au, ax elseif an == 30 then local ap = Y[1] local aq = Y[2] local ao = aj local aw, az local av if aq == 1 then return elseif aq == 0 then av = ae else av = ap + aq - 2 end az = {} aw = 0 for T = ap, av do aw = aw + 1 az[aw] = ao[T] end return az, aw elseif an == 31 then local ap = Y[1] local ao = aj local aA = ao[ap + 2] local ay = ao[ap] + aA ao[ap] = ay if aA > 0 then if ay <= ao[ap + 1] then ad = ad + Y[2] ao[ap + 3] = ay end else if ay >= ao[ap + 1] then ad = ad + Y[2] ao[ap + 3] = ay end end elseif an == 32 then local ap = Y[1] local ao = aj ao[ap] = assert(tonumber(ao[ap]), "`for` initial value must be a number") ao[ap + 1] = assert(tonumber(ao[ap + 1]), "`for` limit must be a number") ao[ap + 2] = assert(tonumber(ao[ap + 2]), "`for` step must be a number") ao[ap] = ao[ap] - ao[ap + 2] ad = ad + Y[2] elseif an == 33 then local ap = Y[1] local ar = Y[3] local ao = aj local aB = ap + 2 local aC = {ao[ap](ao[ap + 1], ao[ap + 2])} for T = 1, ar do aj[aB + T] = aC[T] end if ao[ap + 3] ~= nil then ao[ap + 2] = ao[ap + 3] else ad = ad + 1 end elseif an == 34 then local ap = Y[1] local aq = Y[2] local ar = Y[3] local ao = aj if ar == 0 then ad = ad + 1 ar = O[ad].Value end local aB = (ar - 1) * 50 local aD = ao[ap] if aq == 0 then aq = ae - ap end for T = 1, aq do aD[aB + T] = ao[ap + T] end elseif an == 35 then local ap = Y[1] local aE = {} for T = 1, #ai do local aF = ai[T] for aG = 0, #aF do local aH = aF[aG] local ao = aH[1] local t = aH[2] if ao == aj and t >= ap then aE[t] = ao[t] aH[1] = aE end end end elseif an == 36 then local aI = Q[Y[2]] local ao = aj local aJ local aK if aI.Upvals ~= 0 then aJ = {} aK = setmetatable( {}, {__index = function(a2, ak) local aL = aJ[ak] return aL[1][aL[2]] end, __newindex = function(a2, ak, al) local aL = aJ[ak] aL[1][aL[2]] = al end} ) for T = 1, aI.Upvals do local aM = O[ad] if aM.Enum == 0 then aJ[T - 1] = {ao, aM[2]} elseif aM.Enum == 4 then aJ[T - 1] = {a7, aM[2]} end ad = ad + 1 end ai[#ai + 1] = aJ end ao[Y[1]] = a6(aI, b, aK) elseif an == 37 then local ap = Y[1] local aq = Y[2] local ao, aN = aj, af ae = ap - 1 for T = ap, ap + (aq > 0 and aq - 1 or ag) do ao[T] = aN[T - ap] end end end end local at = {...} for T = 0, ag do if T >= R.Args then af[T - R.Args] = at[T + 1] else aj[T] = at[T + 1] end end local ap, aq, ar = pcall(am) if ap then if aq and ar > 0 then return unpack(aq, 1, ar) end return else a8(aq, ad - 1) end end end local aO = r(a) return a6(aO, b or getfenv(0)), aO end)( { 27, 76, 117, 97, 81, 0, 1, 4, 4, 4, 8, 0, 32, 0, 0, 0, 64, 73, 114, 111, 110, 98, 114, 101, 119, 47, 110, 101, 116, 99, 111, 114, 101, 97, 112, 112, 50, 46, 48, 47, 111, 117, 116, 46, 108, 117, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 84, 0, 0, 0, 5, 0, 0, 0, 6, 64, 64, 0, 69, 0, 0, 0, 70, 128, 192, 0, 133, 0, 0, 0, 134, 192, 64, 1, 197, 0, 1, 0, 198, 64, 193, 1, 5, 129, 1, 0, 6, 193, 65, 2, 69, 1, 2, 0, 90, 65, 0, 0, 22, 0, 0, 128, 100, 1, 0, 0, 133, 65, 2, 0, 197, 129, 2, 0, 5, 194, 2, 0, 69, 2, 3, 0, 164, 66, 0, 0, 0, 0, 128, 0, 0, 0, 128, 4, 0, 0, 0, 1, 192, 2, 0, 5, 1, 67, 3, 0, 220, 130, 0, 1, 5, 131, 3, 0, 26, 3, 0, 0, 22, 192, 0, 128, 5, 131, 3, 0, 6, 195, 67, 6, 26, 67, 0, 0, 22, 0, 0, 128, 36, 131, 0, 0, 100, 195, 0, 0, 129, 3, 4, 0, 228, 3, 1, 0, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 7, 0, 0, 0, 6, 36, 68, 1, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 128, 5, 0, 0, 0, 7, 100, 132, 1, 0, 0, 0, 128, 7, 0, 0, 128, 6, 0, 0, 0, 2, 128, 4, 128, 7, 228, 196, 1, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 128, 5, 0, 0, 0, 7, 0, 0, 128, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 128, 1, 0, 5, 128, 7, 100, 5, 2, 0, 0, 0, 128, 3, 164, 69, 2, 0, 0, 0, 128, 7, 0, 0, 0, 6, 0, 0, 128, 6, 0, 0, 0, 11, 0, 0, 0, 8, 0, 0, 128, 8, 0, 0, 128, 9, 228, 133, 2, 0, 0, 0, 128, 10, 0, 0, 128, 3, 0, 0, 0, 4, 0, 6, 128, 11, 64, 6, 0, 11, 92, 134, 128, 0, 138, 6, 0, 0, 192, 6, 128, 2, 220, 6, 128, 0, 28, 134, 0, 0, 29, 6, 128, 0, 30, 6, 0, 0, 30, 0, 128, 0, 17, 0, 0, 0, 4, 7, 0, 0, 0, 115, 116, 114, 105, 110, 103, 0, 4, 5, 0, 0, 0, 98, 121, 116, 101, 0, 4, 5, 0, 0, 0, 99, 104, 97, 114, 0, 4, 4, 0, 0, 0, 115, 117, 98, 0, 4, 6, 0, 0, 0, 116, 97, 98, 108, 101, 0, 4, 7, 0, 0, 0, 99, 111, 110, 99, 97, 116, 0, 4, 5, 0, 0, 0, 109, 97, 116, 104, 0, 4, 6, 0, 0, 0, 108, 100, 101, 120, 112, 0, 4, 8, 0, 0, 0, 103, 101, 116, 102, 101, 110, 118, 0, 4, 13, 0, 0, 0, 115, 101, 116, 109, 101, 116, 97, 116, 97, 98, 108, 101, 0, 4, 7, 0, 0, 0, 115, 101, 108, 101, 99, 116, 0, 4, 7, 0, 0, 0, 117, 110, 112, 97, 99, 107, 0, 4, 9, 0, 0, 0, 116, 111, 110, 117, 109, 98, 101, 114, 0, 4, 189, 0, 0, 0, 50, 49, 86, 50, 49, 90, 50, 55, 53, 50, 52, 71, 50, 50, 55, 50, 53, 51, 50, 53, 52, 50, 54, 72, 50, 50, 55, 50, 55, 53, 50, 52, 75, 50, 50, 70, 50, 55, 57, 50, 54, 71, 50, 50, 70, 50, 55, 53, 50, 52, 72, 50, 50, 70, 50, 55, 73, 50, 54, 75, 50, 55, 73, 50, 49, 90, 50, 52, 72, 50, 55, 67, 50, 49, 90, 50, 54, 77, 50, 55, 82, 50, 55, 53, 50, 55, 86, 50, 49, 88, 50, 55, 86, 50, 49, 90, 50, 49, 85, 50, 55, 86, 50, 49, 74, 50, 49, 72, 50, 49, 65, 50, 49, 53, 50, 49, 70, 50, 49, 90, 50, 50, 57, 50, 55, 86, 49, 66, 50, 49, 69, 50, 49, 50, 50, 50, 86, 49, 56, 50, 49, 49, 49, 88, 50, 49, 69, 50, 49, 71, 50, 49, 48, 50, 49, 50, 50, 49, 70, 50, 49, 52, 50, 49, 72, 50, 50, 86, 50, 49, 49, 50, 49, 81, 50, 50, 86, 49, 78, 50, 49, 81, 50, 49, 50, 50, 49, 53, 0, 4, 4, 0, 0, 0, 98, 105, 116, 0, 4, 5, 0, 0, 0, 98, 120, 111, 114, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 11, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 5, 0, 0, 0, 30, 0, 0, 1, 30, 0, 128, 0, 1, 0, 0, 0, 4, 5, 0, 0, 0, 95, 69, 78, 86, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 1, 0, 14, 65, 0, 0, 0, 65, 0, 0, 0, 129, 0, 0, 0, 202, 0, 0, 0, 1, 65, 0, 0, 74, 1, 0, 0, 129, 129, 0, 0, 205, 193, 64, 2, 1, 194, 0, 0, 160, 193, 0, 128, 132, 2, 0, 0, 192, 2, 128, 4, 156, 130, 0, 1, 73, 129, 130, 4, 159, 129, 254, 127, 129, 193, 0, 0, 228, 1, 0, 0, 4, 0, 128, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0, 64, 2, 128, 3, 92, 2, 128, 0, 28, 130, 0, 0, 64, 0, 0, 4, 201, 64, 128, 129, 20, 2, 0, 0, 24, 0, 2, 3, 22, 64, 7, 128, 0, 2, 128, 3, 28, 130, 128, 0, 70, 2, 130, 2, 90, 2, 0, 0, 22, 64, 0, 128, 134, 0, 130, 2, 22, 128, 1, 128, 64, 2, 128, 0, 132, 2, 0, 1, 192, 2, 128, 0, 1, 195, 0, 0, 65, 195, 0, 0, 156, 130, 0, 2, 149, 128, 130, 4, 64, 2, 128, 0, 132, 2, 0, 1, 192, 2, 0, 1, 1, 195, 0, 0, 65, 195, 0, 0, 156, 130, 0, 2, 85, 130, 130, 4, 73, 65, 2, 2, 84, 2, 128, 1, 76, 194, 192, 4, 128, 2, 0, 1, 192, 2, 0, 1, 12, 193, 64, 2, 64, 0, 128, 5, 201, 128, 130, 4, 22, 128, 247, 127, 5, 2, 1, 0, 6, 66, 65, 4, 64, 2, 128, 1, 29, 2, 0, 1, 30, 2, 0, 0, 30, 0, 128, 0, 6, 0, 0, 0, 4, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 112, 64, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 4, 6, 0, 0, 0, 116, 97, 98, 108, 101, 0, 4, 7, 0, 0, 0, 99, 111, 110, 99, 97, 116, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 6, 26, 0, 0, 0, 4, 0, 0, 0, 68, 0, 128, 0, 132, 0, 0, 1, 196, 0, 128, 1, 4, 1, 128, 1, 92, 128, 0, 2, 129, 0, 0, 0, 28, 128, 128, 1, 68, 0, 128, 1, 76, 64, 192, 0, 72, 0, 128, 1, 68, 0, 0, 0, 132, 0, 128, 0, 196, 0, 0, 1, 4, 1, 128, 1, 68, 1, 128, 1, 76, 1, 128, 2, 77, 65, 192, 2, 156, 128, 0, 2, 193, 0, 0, 0, 92, 128, 128, 1, 132, 0, 128, 1, 140, 0, 0, 1, 136, 0, 128, 1, 94, 0, 0, 1, 30, 0, 128, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 66, 64, 3, 0, 0, 0, 0, 0, 0, 240, 63, 0, 0, 0, 0, 26, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 101, 0, 8, 0, 0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 111, 0, 21, 0, 0, 0, 25, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 104, 0, 2, 0, 0, 0, 99, 0, 2, 0, 0, 0, 100, 0, 2, 0, 0, 0, 108, 0, 65, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 13, 0, 0, 0, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 101, 0, 3, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 111, 0, 3, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 116, 0, 3, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 97, 0, 4, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 110, 0, 5, 0, 0, 0, 64, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 8, 0, 0, 0, 14, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 8, 0, 0, 0, 14, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 8, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 108, 0, 9, 0, 0, 0, 13, 0, 0, 0, 2, 0, 0, 0, 108, 0, 15, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 114, 0, 20, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 108, 0, 31, 0, 0, 0, 58, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 105, 0, 2, 0, 0, 0, 104, 0, 2, 0, 0, 0, 99, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 8, 35, 0, 0, 0, 129, 0, 0, 0, 193, 64, 0, 0, 24, 0, 128, 128, 22, 128, 3, 128, 24, 64, 128, 128, 22, 0, 3, 128, 16, 129, 64, 0, 80, 129, 192, 0, 87, 64, 1, 2, 22, 0, 0, 128, 204, 128, 128, 1, 141, 1, 1, 0, 143, 129, 64, 3, 205, 65, 129, 0, 207, 129, 192, 3, 142, 128, 64, 1, 64, 0, 128, 3, 0, 0, 0, 3, 22, 128, 251, 127, 24, 64, 0, 0, 22, 0, 0, 128, 0, 0, 128, 0, 24, 0, 128, 128, 22, 0, 2, 128, 16, 129, 64, 0, 24, 0, 129, 128, 22, 0, 0, 128, 204, 128, 128, 1, 77, 1, 1, 0, 79, 129, 192, 2, 142, 128, 64, 1, 0, 0, 128, 2, 22, 0, 253, 127, 222, 0, 0, 1, 30, 0, 128, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 108, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 101, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 111, 0, 2, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 34, 0, 0, 0, 2, 0, 0, 0, 99, 0, 8, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 97, 0, 8, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 101, 0, 25, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 3, 0, 6, 27, 0, 0, 0, 154, 0, 0, 0, 22, 0, 3, 128, 205, 0, 192, 0, 209, 192, 128, 128, 207, 192, 0, 0, 13, 1, 64, 1, 77, 1, 192, 0, 13, 65, 1, 2, 12, 1, 64, 2, 17, 1, 129, 128, 208, 0, 129, 1, 16, 1, 192, 1, 13, 1, 129, 1, 30, 1, 0, 1, 22, 128, 2, 128, 205, 0, 192, 0, 209, 192, 128, 128, 12, 193, 128, 1, 16, 1, 1, 0, 25, 0, 129, 1, 22, 128, 0, 128, 1, 1, 0, 0, 26, 65, 0, 0, 22, 0, 0, 128, 1, 129, 0, 0, 30, 1, 0, 1, 30, 0, 128, 0, 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 0, 0, 64, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 101, 0, 0, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 108, 0, 0, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 0, 0, 26, 0, 0, 0, 2, 0, 0, 0, 108, 0, 11, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 108, 0, 17, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 7, 37, 0, 0, 0, 4, 0, 0, 0, 68, 0, 128, 0, 132, 0, 0, 1, 196, 0, 0, 1, 204, 0, 192, 1, 28, 64, 1, 2, 4, 1, 128, 1, 64, 1, 0, 0, 129, 65, 0, 0, 28, 129, 128, 1, 0, 0, 0, 2, 4, 1, 128, 1, 64, 1, 128, 0, 129, 65, 0, 0, 28, 129, 128, 1, 64, 0, 0, 2, 4, 1, 128, 1, 64, 1, 0, 1, 129, 65, 0, 0, 28, 129, 128, 1, 128, 0, 0, 2, 4, 1, 128, 1, 64, 1, 128, 1, 129, 65, 0, 0, 28, 129, 128, 1, 192, 0, 0, 2, 4, 1, 0, 1, 12, 129, 64, 2, 8, 1, 0, 1, 14, 193, 192, 1, 78, 1, 65, 1, 12, 65, 1, 2, 78, 65, 193, 0, 12, 65, 1, 2, 12, 1, 0, 2, 30, 1, 0, 1, 30, 0, 128, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 64, 3, 0, 0, 0, 0, 0, 192, 81, 64, 3, 0, 0, 0, 0, 0, 0, 16, 64, 3, 0, 0, 0, 0, 0, 0, 112, 65, 3, 0, 0, 0, 0, 0, 0, 240, 64, 3, 0, 0, 0, 0, 0, 0, 112, 64, 0, 0, 0, 0, 37, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 97, 0, 6, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 111, 0, 6, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 99, 0, 6, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 101, 0, 6, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 100, 0, 2, 0, 0, 0, 114, 0, 2, 0, 0, 0, 108, 0, 2, 0, 0, 0, 110, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 5, 13, 0, 0, 0, 4, 0, 0, 0, 68, 0, 128, 0, 132, 0, 0, 1, 196, 0, 128, 1, 4, 1, 128, 1, 92, 128, 0, 2, 129, 0, 0, 0, 28, 128, 128, 1, 68, 0, 128, 1, 76, 64, 192, 0, 72, 0, 128, 1, 30, 0, 0, 1, 30, 0, 128, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 192, 81, 64, 3, 0, 0, 0, 0, 0, 0, 240, 63, 0, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 101, 0, 8, 0, 0, 0, 12, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 100, 0, 2, 0, 0, 0, 114, 0, 2, 0, 0, 0, 108, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 9, 52, 0, 0, 0, 4, 0, 0, 0, 28, 128, 128, 0, 68, 0, 0, 0, 92, 128, 128, 0, 129, 0, 0, 0, 196, 0, 128, 0, 0, 1, 128, 0, 65, 1, 0, 0, 129, 65, 0, 0, 220, 128, 0, 2, 206, 128, 192, 1, 204, 0, 128, 1, 4, 1, 128, 0, 64, 1, 128, 0, 129, 193, 0, 0, 193, 1, 1, 0, 28, 129, 0, 2, 68, 1, 128, 0, 128, 1, 128, 0, 193, 65, 1, 0, 92, 129, 128, 1, 81, 65, 1, 131, 23, 192, 65, 2, 22, 192, 1, 128, 23, 192, 193, 1, 22, 128, 0, 128, 142, 193, 193, 2, 158, 1, 0, 1, 22, 64, 3, 128, 1, 1, 0, 0, 129, 192, 1, 0, 22, 128, 2, 128, 23, 0, 66, 2, 22, 0, 2, 128, 23, 192, 193, 1, 22, 192, 0, 128, 143, 193, 65, 128, 142, 129, 129, 2, 154, 65, 0, 0, 22, 64, 0, 128, 143, 193, 193, 131, 142, 129, 129, 2, 158, 1, 0, 1, 132, 1, 0, 1, 192, 1, 128, 2, 13, 66, 66, 2, 156, 129, 128, 1, 207, 129, 194, 1, 204, 193, 1, 1, 142, 193, 1, 3, 158, 1, 0, 1, 30, 0, 128, 0, 11, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 0, 52, 64, 3, 0, 0, 0, 0, 0, 0, 240, 65, 3, 0, 0, 0, 0, 0, 0, 53, 64, 3, 0, 0, 0, 0, 0, 0, 63, 64, 3, 0, 0, 0, 0, 0, 0, 64, 64, 3, 0, 0, 0, 0, 0, 0, 240, 191, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 252, 159, 64, 3, 0, 0, 0, 0, 0, 248, 143, 64, 3, 0, 0, 0, 0, 0, 0, 48, 67, 0, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 51, 0, 0, 0, 2, 0, 0, 0, 108, 0, 4, 0, 0, 0, 51, 0, 0, 0, 2, 0, 0, 0, 99, 0, 5, 0, 0, 0, 51, 0, 0, 0, 2, 0, 0, 0, 110, 0, 12, 0, 0, 0, 51, 0, 0, 0, 2, 0, 0, 0, 111, 0, 17, 0, 0, 0, 51, 0, 0, 0, 2, 0, 0, 0, 108, 0, 22, 0, 0, 0, 51, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 111, 0, 2, 0, 0, 0, 101, 0, 2, 0, 0, 0, 86, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 14, 44, 0, 0, 0, 26, 64, 0, 0, 22, 128, 1, 128, 132, 0, 0, 0, 156, 128, 128, 0, 0, 0, 0, 1, 23, 0, 64, 0, 22, 64, 0, 128, 129, 64, 0, 0, 158, 0, 0, 1, 132, 0, 128, 0, 196, 0, 0, 1, 4, 1, 128, 1, 68, 1, 128, 1, 76, 1, 128, 2, 77, 129, 192, 2, 156, 128, 0, 2, 64, 0, 0, 1, 132, 0, 128, 1, 140, 0, 0, 1, 136, 0, 128, 1, 138, 0, 0, 0, 193, 128, 0, 0, 20, 1, 128, 0, 65, 129, 0, 0, 224, 0, 3, 128, 196, 1, 0, 2, 4, 2, 128, 2, 68, 2, 0, 3, 132, 2, 128, 0, 192, 2, 128, 0, 0, 3, 0, 3, 64, 3, 0, 3, 156, 2, 0, 2, 92, 130, 0, 0, 129, 194, 0, 0, 28, 2, 128, 1, 220, 129, 0, 0, 137, 192, 1, 3, 223, 64, 252, 127, 196, 0, 128, 3, 0, 1, 0, 1, 221, 0, 0, 1, 222, 0, 0, 0, 30, 0, 128, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 192, 81, 64, 0, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 101, 0, 0, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 111, 0, 0, 0, 0, 0, 43, 0, 0, 0, 2, 0, 0, 0, 101, 0, 21, 0, 0, 0, 43, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 24, 0, 0, 0, 39, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 24, 0, 0, 0, 39, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 24, 0, 0, 0, 39, 0, 0, 0, 2, 0, 0, 0, 108, 0, 25, 0, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 97, 0, 2, 0, 0, 0, 99, 0, 2, 0, 0, 0, 114, 0, 2, 0, 0, 0, 108, 0, 2, 0, 0, 0, 105, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 100, 0, 2, 0, 0, 0, 98, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 5, 9, 0, 0, 0, 74, 0, 0, 0, 165, 0, 0, 0, 98, 64, 0, 0, 132, 0, 0, 0, 193, 0, 0, 0, 37, 1, 0, 0, 156, 0, 0, 0, 94, 0, 0, 0, 30, 0, 128, 0, 1, 0, 0, 0, 4, 2, 0, 0, 0, 35, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 97, 114, 103, 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 117, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 18, 152, 0, 0, 0, 10, 0, 0, 2, 65, 0, 0, 0, 129, 0, 0, 0, 193, 0, 0, 0, 1, 1, 0, 0, 34, 64, 0, 2, 74, 0, 0, 0, 138, 0, 0, 0, 202, 0, 128, 2, 0, 1, 0, 0, 67, 1, 128, 2, 128, 1, 128, 0, 195, 1, 128, 3, 0, 2, 0, 1, 226, 64, 128, 2, 1, 65, 0, 0, 68, 1, 0, 0, 92, 129, 128, 0, 129, 65, 0, 0, 32, 193, 19, 128, 4, 2, 128, 0, 68, 2, 0, 0, 92, 130, 128, 0, 129, 130, 0, 0, 28, 130, 128, 1, 68, 2, 128, 0, 132, 2, 0, 0, 156, 130, 128, 0, 193, 194, 0, 0, 92, 130, 128, 1, 132, 2, 0, 1, 192, 2, 0, 4, 1, 67, 0, 0, 65, 3, 1, 0, 156, 130, 0, 2, 196, 2, 0, 1, 0, 3, 128, 4, 65, 67, 0, 0, 129, 67, 1, 0, 220, 130, 0, 2, 10, 3, 128, 2, 64, 3, 128, 5, 132, 3, 0, 1, 192, 3, 0, 4, 1, 132, 1, 0, 65, 68, 1, 0, 156, 131, 0, 2, 195, 3, 0, 8, 64, 4, 128, 4, 34, 67, 128, 2, 23, 0, 64, 5, 22, 0, 3, 128, 68, 3, 0, 1, 128, 3, 0, 4, 193, 195, 1, 0, 1, 4, 2, 0, 92, 131, 0, 2, 9, 67, 3, 131, 68, 3, 0, 1, 128, 3, 0, 4, 193, 131, 2, 0, 1, 196, 2, 0, 92, 131, 0, 2, 9, 67, 131, 132, 22, 64, 8, 128, 23, 64, 64, 5, 22, 128, 1, 128, 68, 3, 0, 1, 128, 3, 128, 4, 193, 195, 1, 0, 1, 4, 3, 0, 92, 131, 0, 2, 9, 67, 3, 131, 22, 0, 6, 128, 23, 0, 65, 5, 22, 192, 1, 128, 68, 3, 0, 1, 128, 3, 128, 4, 193, 195, 1, 0, 1, 68, 3, 0, 92, 131, 0, 2, 77, 131, 195, 6, 9, 67, 3, 131, 22, 128, 3, 128, 23, 128, 65, 5, 22, 0, 3, 128, 68, 3, 0, 1, 128, 3, 128, 4, 193, 195, 1, 0, 1, 68, 3, 0, 92, 131, 0, 2, 77, 131, 195, 6, 9, 67, 3, 131, 68, 3, 0, 1, 128, 3, 0, 4, 193, 131, 2, 0, 1, 196, 2, 0, 92, 131, 0, 2, 9, 67, 131, 132, 9, 0, 131, 3, 31, 129, 235, 127, 1, 65, 0, 0, 68, 1, 0, 0, 92, 129, 128, 0, 129, 65, 0, 0, 32, 193, 0, 128, 13, 66, 192, 3, 68, 2, 128, 1, 92, 130, 128, 0, 73, 64, 2, 4, 31, 129, 254, 127, 4, 1, 0, 2, 28, 129, 128, 0, 201, 0, 129, 135, 4, 1, 0, 0, 28, 129, 128, 0, 74, 1, 0, 1, 129, 1, 0, 0, 193, 1, 0, 0, 98, 65, 0, 1, 129, 65, 0, 0, 192, 1, 0, 2, 1, 66, 0, 0, 160, 193, 5, 128, 132, 2, 0, 2, 156, 130, 128, 0, 195, 2, 128, 5, 23, 64, 64, 5, 22, 128, 1, 128, 4, 3, 0, 2, 28, 131, 128, 0, 23, 0, 64, 6, 22, 0, 0, 128, 194, 66, 0, 0, 194, 2, 128, 0, 22, 128, 2, 128, 23, 128, 65, 5, 22, 192, 0, 128, 4, 3, 128, 2, 28, 131, 128, 0, 192, 2, 0, 6, 22, 0, 1, 128, 23, 0, 64, 5, 22, 128, 0, 128, 4, 3, 0, 3, 28, 131, 128, 0, 192, 2, 0, 6, 73, 193, 130, 4, 159, 129, 249, 127, 201, 64, 1, 130, 222, 0, 0, 1, 30, 0, 128, 0, 16, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 192, 108, 64, 3, 0, 0, 0, 0, 0, 128, 101, 64, 3, 0, 0, 0, 0, 0, 0, 0, 64, 3, 0, 0, 0, 0, 0, 0, 38, 64, 3, 0, 0, 0, 0, 0, 0, 8, 64, 3, 0, 0, 0, 0, 0, 0, 40, 64, 3, 0, 0, 0, 0, 0, 0, 52, 64, 3, 0, 0, 0, 0, 0, 0, 20, 64, 3, 0, 0, 0, 0, 0, 0, 53, 64, 3, 0, 0, 0, 0, 0, 0, 61, 64, 3, 0, 0, 0, 0, 0, 128, 64, 64, 3, 0, 0, 0, 0, 0, 0, 64, 64, 3, 0, 0, 0, 0, 254, 255, 47, 65, 3, 0, 0, 0, 0, 0, 0, 16, 64, 0, 0, 0, 0, 152, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 2, 0, 0, 0, 100, 0, 6, 0, 0, 0, 151, 0, 0, 0, 2, 0, 0, 0, 114, 0, 7, 0, 0, 0, 151, 0, 0, 0, 2, 0, 0, 0, 108, 0, 8, 0, 0, 0, 151, 0, 0, 0, 2, 0, 0, 0, 97, 0, 15, 0, 0, 0, 151, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 19, 0, 0, 0, 101, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 19, 0, 0, 0, 101, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 19, 0, 0, 0, 101, 0, 0, 0, 2, 0, 0, 0, 97, 0, 20, 0, 0, 0, 100, 0, 0, 0, 2, 0, 0, 0, 99, 0, 25, 0, 0, 0, 100, 0, 0, 0, 2, 0, 0, 0, 111, 0, 30, 0, 0, 0, 100, 0, 0, 0, 2, 0, 0, 0, 110, 0, 35, 0, 0, 0, 100, 0, 0, 0, 2, 0, 0, 0, 108, 0, 40, 0, 0, 0, 100, 0, 0, 0, 2, 0, 0, 0, 108, 0, 50, 0, 0, 0, 100, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 105, 0, 0, 0, 111, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 105, 0, 0, 0, 111, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 105, 0, 0, 0, 111, 0, 0, 0, 2, 0, 0, 0, 108, 0, 106, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, 108, 0, 116, 0, 0, 0, 151, 0, 0, 0, 2, 0, 0, 0, 111, 0, 120, 0, 0, 0, 151, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 123, 0, 0, 0, 149, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 123, 0, 0, 0, 149, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 123, 0, 0, 0, 149, 0, 0, 0, 2, 0, 0, 0, 110, 0, 124, 0, 0, 0, 148, 0, 0, 0, 2, 0, 0, 0, 101, 0, 126, 0, 0, 0, 148, 0, 0, 0, 2, 0, 0, 0, 108, 0, 127, 0, 0, 0, 148, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 111, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 101, 0, 2, 0, 0, 0, 105, 0, 2, 0, 0, 0, 116, 0, 2, 0, 0, 0, 104, 0, 2, 0, 0, 0, 115, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 3, 0, 8, 15, 0, 0, 0, 198, 0, 64, 0, 6, 65, 64, 0, 70, 129, 64, 0, 134, 193, 64, 0, 228, 1, 0, 0, 0, 0, 128, 1, 0, 0, 0, 2, 0, 0, 128, 2, 0, 0, 0, 3, 4, 0, 0, 0, 4, 0, 128, 0, 4, 0, 0, 1, 0, 0, 0, 1, 222, 1, 0, 1, 30, 0, 128, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 0, 0, 64, 3, 0, 0, 0, 0, 0, 0, 8, 64, 3, 0, 0, 0, 0, 0, 0, 16, 64, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 8, 0, 3, 25, 128, 0, 0, 0, 68, 0, 0, 0, 132, 0, 128, 0, 196, 0, 0, 1, 4, 1, 128, 1, 68, 1, 0, 2, 129, 1, 0, 0, 193, 65, 0, 0, 10, 2, 0, 0, 74, 2, 0, 0, 165, 2, 0, 0, 98, 66, 0, 0, 132, 2, 128, 2, 193, 130, 0, 0, 37, 3, 0, 0, 156, 130, 0, 0, 141, 2, 64, 5, 202, 2, 0, 0, 10, 3, 0, 0, 65, 195, 0, 0, 128, 3, 0, 5, 193, 3, 0, 0, 96, 67, 2, 128, 25, 0, 4, 2, 22, 0, 1, 128, 77, 4, 1, 8, 140, 4, 64, 8, 134, 132, 132, 4, 9, 130, 132, 8, 22, 128, 0, 128, 76, 4, 64, 8, 70, 68, 132, 4, 9, 67, 4, 8, 95, 3, 253, 127, 77, 3, 1, 5, 76, 3, 192, 6, 131, 3, 128, 7, 134, 131, 129, 0, 198, 3, 64, 7, 25, 0, 193, 7, 22, 64, 11, 128, 25, 0, 192, 7, 22, 64, 7, 128, 24, 192, 131, 129, 22, 128, 5, 128, 6, 68, 65, 7, 74, 4, 0, 0, 129, 196, 0, 0, 198, 4, 65, 7, 204, 196, 4, 8, 205, 4, 192, 9, 12, 5, 64, 8, 64, 5, 128, 9, 129, 5, 0, 0, 32, 133, 0, 128, 140, 4, 64, 9, 6, 198, 5, 6, 73, 4, 6, 9, 31, 197, 254, 127, 6, 5, 4, 6, 68, 5, 0, 3, 128, 5, 128, 8, 193, 5, 0, 0, 13, 6, 132, 9, 92, 5, 0, 2, 28, 69, 0, 0, 192, 1, 0, 8, 22, 64, 14, 128, 6, 68, 65, 7, 70, 4, 65, 7, 70, 68, 4, 1, 9, 67, 4, 8, 22, 0, 13, 128, 24, 192, 131, 130, 22, 0, 1, 128, 6, 68, 65, 7, 70, 4, 65, 7, 70, 68, 4, 1, 9, 67, 4, 8, 22, 64, 11, 128, 6, 68, 65, 7, 68, 4, 128, 3, 134, 4, 65, 7, 134, 132, 4, 1, 70, 132, 132, 8, 9, 67, 4, 8, 22, 128, 9, 128, 25, 128, 193, 7, 22, 64, 1, 128, 24, 192, 131, 131, 22, 64, 0, 128, 30, 0, 128, 0, 22, 0, 8, 128, 30, 0, 128, 0, 22, 128, 7, 128, 24, 192, 3, 132, 22, 128, 5, 128, 6, 68, 65, 7, 74, 4, 0, 0, 129, 196, 0, 0, 198, 4, 65, 7, 204, 196, 4, 8, 205, 4, 192, 9, 12, 5, 64, 8, 64, 5, 128, 9, 129, 5, 0, 0, 32, 133, 0, 128, 140, 4, 64, 9, 6, 198, 5, 6, 73, 4, 6, 9, 31, 197, 254, 127, 6, 5, 4, 6, 68, 5, 0, 3, 128, 5, 128, 8, 193, 5, 0, 0, 13, 6, 132, 9, 92, 5, 0, 2, 28, 69, 0, 0, 192, 1, 0, 8, 22, 64, 1, 128, 6, 68, 65, 7, 68, 4, 128, 3, 134, 4, 65, 7, 134, 132, 4, 1, 70, 132, 132, 8, 9, 67, 4, 8, 140, 1, 64, 3, 22, 0, 233, 127, 30, 0, 128, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 240, 63, 3, 0, 0, 0, 0, 0, 0, 240, 191, 4, 2, 0, 0, 0, 35, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 8, 64, 3, 0, 0, 0, 0, 0, 0, 0, 64, 3, 0, 0, 0, 0, 0, 0, 20, 64, 3, 0, 0, 0, 0, 0, 0, 16, 64, 3, 0, 0, 0, 0, 0, 0, 24, 64, 0, 0, 0, 0, 128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 97, 114, 103, 0, 0, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 104, 0, 1, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 110, 0, 2, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 101, 0, 3, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 111, 0, 4, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 108, 0, 5, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 99, 0, 6, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 116, 0, 7, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 105, 0, 8, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 100, 0, 11, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 114, 0, 16, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 108, 0, 17, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 101, 0, 18, 0, 0, 0, 127, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 21, 0, 0, 0, 33, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 21, 0, 0, 0, 33, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 21, 0, 0, 0, 33, 0, 0, 0, 2, 0, 0, 0, 108, 0, 22, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 108, 0, 35, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 108, 0, 36, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 111, 0, 36, 0, 0, 0, 127, 0, 0, 0, 2, 0, 0, 0, 111, 0, 45, 0, 0, 0, 66, 0, 0, 0, 2, 0, 0, 0, 99, 0, 46, 0, 0, 0, 66, 0, 0, 0, 2, 0, 0, 0, 110, 0, 47, 0, 0, 0, 66, 0, 0, 0, 2, 0, 0, 0, 108, 0, 50, 0, 0, 0, 66, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 53, 0, 0, 0, 58, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 53, 0, 0, 0, 58, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 53, 0, 0, 0, 58, 0, 0, 0, 2, 0, 0, 0, 108, 0, 54, 0, 0, 0, 57, 0, 0, 0, 2, 0, 0, 0, 111, 0, 97, 0, 0, 0, 118, 0, 0, 0, 2, 0, 0, 0, 99, 0, 98, 0, 0, 0, 118, 0, 0, 0, 2, 0, 0, 0, 110, 0, 99, 0, 0, 0, 118, 0, 0, 0, 2, 0, 0, 0, 108, 0, 102, 0, 0, 0, 118, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 105, 110, 100, 101, 120, 41, 0, 105, 0, 0, 0, 110, 0, 0, 0, 12, 0, 0, 0, 40, 102, 111, 114, 32, 108, 105, 109, 105, 116, 41, 0, 105, 0, 0, 0, 110, 0, 0, 0, 11, 0, 0, 0, 40, 102, 111, 114, 32, 115, 116, 101, 112, 41, 0, 105, 0, 0, 0, 110, 0, 0, 0, 2, 0, 0, 0, 108, 0, 106, 0, 0, 0, 109, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 101, 0, 2, 0, 0, 0, 111, 0, 2, 0, 0, 0, 99, 0, 2, 0, 0, 0, 108, 0, 2, 0, 0, 0, 86, 0, 2, 0, 0, 0, 117, 0, 2, 0, 0, 0, 102, 0, 2, 0, 0, 0, 97, 0, 15, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 108, 0, 0, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 101, 0, 0, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 97, 0, 0, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 101, 0, 1, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 111, 0, 2, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 99, 0, 3, 0, 0, 0, 14, 0, 0, 0, 2, 0, 0, 0, 108, 0, 4, 0, 0, 0, 14, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 86, 0, 2, 0, 0, 0, 117, 0, 2, 0, 0, 0, 102, 0, 84, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, 100, 0, 2, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 105, 0, 4, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 99, 0, 6, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 98, 0, 8, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 86, 0, 10, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 72, 0, 14, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 108, 0, 15, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 117, 0, 16, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 102, 0, 17, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 104, 0, 18, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 115, 0, 22, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 114, 0, 25, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 110, 0, 33, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 101, 0, 34, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 108, 0, 35, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 111, 0, 40, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 116, 0, 45, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 104, 0, 49, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 97, 0, 50, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 115, 0, 59, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 108, 0, 60, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 86, 0, 62, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 105, 0, 70, 0, 0, 0, 83, 0, 0, 0, 2, 0, 0, 0, 104, 0, 74, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0 } )()
Write, Run & Share Lua code online using OneCompiler's Lua online compiler for free. It's one of the robust, feature-rich online compilers for Lua language, running the latest Lua version 5.4. Getting started with the OneCompiler's Lua editor is easy and fast. The editor shows sample boilerplate code when you choose language as Lua and start coding.
OneCompiler's Lua online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample Lua program which takes name as input and prints hello message with your name.
name = io.read("*a")
print ("Hello ", name)
Lua is a light weight embeddable scripting language which is built on top of C. It is used in almost all kind of applications like games, web applications, mobile applications, image processing etc. It's a very powerful, fast, easy to learn, open-source scripting language.
-- global variables
a = 10
-- local variables
local x = 30
Value Type | Description |
---|---|
number | Represents numbers |
string | Represents text |
nil | Differentiates values whether it has data or not |
boolean | Value can be either true or false |
function | Represents a sub-routine |
userdata | Represents arbitary C data |
thread | Represents independent threads of execution. |
table | Can hold any value except nil |
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition)
do
--code
end
Repeat-Until is also used to iterate a set of statements based on a condition. It is very similar to Do-While, it is mostly used when you need to execute the statements atleast once.
repeat
--code
until( condition )
For loop is used to iterate a set of statements based on a condition.
for init,max/min value, increment
do
--code
end
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increase re-usuability and modularity.
optional_function_scope function function_name( argument1, argument2, argument3........, argumentn)
--code
return params with comma seperated
end