import Data.Int (Int16) import Data.Word (Word16) import Data.Bits (shiftL, shiftR, (.&.), (.|.), complement, xor) main :: IO () main = do let bo = bn `shiftR` 2 ly = lf `shiftR` 1 fq = fo `shiftR` 3 cq = cj .|. cp ga = fo .|. fz u = t .|. s a = lx ay = complement ax hf = he `shiftR` 2 lr = lf .|. lq lu = lr .&. lt ek = dy .|. ej cy = 1 .&. cx hv = hb `shiftL` 1 bi = 1 .&. bh ik = ih .&. ij t = c `shiftL` 1 ed = ea .&. eb ko = km .|. kn bx = complement bw cu = ci .|. ct q = complement p lx = lw .|. lv lp = complement lo fw = fp .|. fv r = o .&. q dk = dh .&. dj bj = ap `shiftL` 1 ce = bk `shiftL` 1 ij = complement ii gj = gh .|. gi ld = kk `shiftR` 1 lw = lc `shiftL` 1 lc = lb .|. la an = 1 .&. am gq = gn .&. gp lh = lf `shiftR` 3 g = e .|. f lo = lg .&. lm db = ci `shiftR` 1 cz = cf `shiftL` 1 cg = bn `shiftR` 1 fg = et .&. fe iu = is .|. it kz = kw .&. ky cn = ck .&. cl bk = bj .|. bi hc = gj `shiftR` 1 jh = iu .&. jf bt = complement bs kw = kk .|. kv kv = ks .&. ku il = hz .|. ik v = b `shiftR` 1 jn = iu `shiftR` 1 fr = fo `shiftR` 5 bh = be .&. bg gd = ga .&. gc hm = hf .|. hl lf = ld .|. le av = od `shiftR` 5 fo = fm .|. fn hp = hm .&. ho ln = lg .|. lm ky = complement kx km = kk `shiftR` 3 en = ek .&. em fu = complement ft ji = complement jh jp = jn .|. jo gw = gj .&. gu l = d .&. j fm = et `shiftR` 1 jx = jq .|. jw eq = ep .|. eo lz = lv `shiftL` 15 ez = complement ey jq = jp `shiftR` 2 ej = eg .&. ei dn = complement dm kc = jp .&. ka bf = od .&. bd fl = fk .|. fj dy = dw .|. dx lm = lj .&. ll ef = ec .&. ee ft = fq .&. fr kq = complement kp kk = ki .|. kj da = cz .|. cy au = od `shiftR` 3 ar = an `shiftL` 15 fn = fj `shiftL` 15 fj = 1 .&. fi hx = he `shiftR` 1 lg = lf `shiftR` 2 kj = kf `shiftL` 15 eh = dz .&. ef id = ib .|. ic li = lf `shiftR` 5 br = bp .|. bq gt = complement gs gh = fo `shiftR` 1 cc = bz .&. cb ec = ea .|. eb ls = lf .&. lq m = complement l ib = hz `shiftR` 3 dj = complement di ll = complement lk jr = jp `shiftR` 3 js = jp `shiftR` 5 bg = complement bf w = s `shiftL` 15 fk = eq `shiftL` 1 jm = jl .|. jk im = hz .&. ik eg = dz .|. ef gz = 1 .&. gy le = la `shiftL` 15 bu = br .&. bt co = complement cn x = v .|. w k = d .|. j ge = 1 .&. gd ih = ia .|. ig gp = complement go ee = complement ed jy = jq .&. jw ff = et .|. fe az = aw .&. ay fi = ff .&. fh jl = ir `shiftL` 1 ha = gg `shiftL` 1 y = x `shiftR` 2 dd = db .|. dc bn = bl .|. bm ie = ib .&. ic z = x `shiftR` 3 lk = lh .&. li cf = ce .|. cd bc = complement bb hl = hi .&. hk gc = complement gb s = 1 .&. r fz = fw .&. fy fe = fb .&. fd eo = 1 .&. en ab = z .|. aa bm = bi `shiftL` 15 hi = hg .|. hh lb = kh `shiftL` 1 ci = cg .|. ch la = 1 .&. kz gg = gf .|. ge gk = gj `shiftR` 2 de = dd `shiftR` 2 lt = complement ls lj = lh .|. li jt = jr .|. js ax = au .&. av c = (0 :: Word16) hr = he .&. hp ig = id .&. oz ew = et `shiftR` 5 bs = bp .&. bq h = e .&. f ma = ly .|. lz lv = 1 .&. lu je = complement jd hb = ha .|. gz er = dy `shiftR` 1 iv = iu `shiftR` 2 hs = complement hr bl = od `shiftR` 1 kl = kk `shiftR` 2 p = b .&. n lq = ln .&. lp cr = cj .&. cp oe = dl .&. dn cj = ci `shiftR` 2 be = od .|. bd gi = ge `shiftL` 15 ic = hz `shiftR` 5 ep = dv `shiftL` 1 ks = kl .|. kr gv = gj .|. gu hh = he `shiftR` 5 fh = complement fg hj = hg .&. hh o = b .|. n jo = jk `shiftL` 15 hd = gz `shiftL` 15 dc = cy `shiftL` 15 kn = kk `shiftR` 5 ck = ci `shiftR` 3 ba = at .|. az iw = iu `shiftR` 3 kr = ko .&. kq ei = complement eh od = aq .|. ar jb = iy .&. ja df = dd `shiftR` 3 bp = bn `shiftR` 3 cd = 1 .&. cc bb = at .&. az aj = x .|. ai kx = kk .&. kv ap = ao .|. an ea = dy `shiftR` 3 aq = x `shiftR` 1 fc = eu .&. fa kt = kl .&. kr ii = ia .&. ig di = df .&. dg fy = complement fx n = k .&. m bq = bn `shiftR` 5 kp = km .&. kn dx = dt `shiftL` 15 ia = hz `shiftR` 2 am = aj .&. al ch = cd `shiftL` 15 he = hc .|. hd hg = he `shiftR` 3 bz = bn .|. by ku = complement kt ac = z .&. aa al = complement ak cx = cu .&. cw oz = complement ie dz = dy `shiftR` 2 it = ip `shiftL` 15 dl = de .|. dk aw = au .|. av jj = jg .&. ji cv = ci .&. ct eb = dy `shiftR` 5 hz = hx .|. hy fb = eu .|. fa gl = gj `shiftR` 3 gb = fo .&. fz jk = 1 .&. jj kb = jp .|. ka dm = de .&. dk fa = ex .&. ez dh = df .|. dg jc = iv .|. jb aa = x `shiftR` 5 hk = complement hj oa = complement im gf = fl `shiftL` 1 hy = hu `shiftL` 15 ir = iq .|. ip ix = iu `shiftR` 5 fd = complement fc em = complement el cm = ck .|. cl ev = et `shiftR` 3 iq = hw `shiftL` 1 cl = ci `shiftR` 5 jd = iv .&. jb dg = dd `shiftR` 5 at = od `shiftR` 2 jz = complement jy ai = af .&. ah dt = 1 .&. ds ka = jx .&. jz du = da `shiftL` 1 fv = fs .&. fu ki = jp `shiftR` 1 iz = iw .&. ix iy = iw .|. ix es = eo `shiftL` 15 ey = ev .&. ew bd = ba .&. bc fx = fp .&. fv jf = jc .&. je eu = et `shiftR` 2 kh = kg .|. kf jg = iu .|. jf et = er .|. es fp = fo `shiftR` 2 cb = complement ca by = bv .&. bx ao = u `shiftL` 1 cp = cm .&. co af = y .|. ae ca = bn .&. by kf = 1 .&. ke jw = jt .&. jv fs = fq .|. fr el = dy .&. ej kd = complement kc ex = ev .|. ew dp = dd .|. oe cw = complement cv gu = gr .&. gt dw = dd `shiftR` 1 gx = complement gw ja = complement iz ip = 1 .&. io ah = complement ag f = b `shiftR` 5 cs = complement cr ke = kb .&. kd ju = jr .&. js ct = cq .&. cs io = il .&. oa jv = complement ju dv = du .|. dt dq = dd .&. oe d = b `shiftR` 2 kg = jm `shiftL` 1 dr = complement dq bv = bo .|. bu gr = gk .|. gq hq = he .|. hp i = complement h hn = hf .&. hl gy = gv .&. gx ak = x .&. ai bw = bo .&. bu ht = hq .&. hs is = hz `shiftR` 1 gm = gj `shiftR` 5 j = g .&. i gs = gk .&. gq ds = dp .&. dr e = b `shiftR` 3 go = gl .&. gm gn = gl .|. gm ag = y .&. ae hw = hv .|. hu b = (46065 :: Word16) ae = ab .&. ad ad = complement ac hu = 1 .&. ht ho = complement hn print a