name | correct guesses | games together | ratio |
---|---|---|---|
kotnen | 3 | 4 | 0.750 |
olus2000 | 6 | 9 | 0.667 |
luatic | 2 | 5 | 0.400 |
kimapr | 3 | 9 | 0.333 |
taswelll | 1 | 5 | 0.200 |
LyricLy | 1 | 10 | 0.100 |
Dolphy | 0 | 8 | 0.000 |
name | correct guesses | games together | ratio |
---|---|---|---|
LyricLy | 6 | 10 | 0.600 |
olus2000 | 5 | 9 | 0.556 |
Dolphy | 4 | 8 | 0.500 |
kimapr | 3 | 9 | 0.333 |
luatic | 1 | 5 | 0.200 |
taswelll | 0 | 5 | 0.000 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | # h #memoize (fast) bh = {} def block(n, o=1): global bh if (n, o) in bh: return bh[(n, o)] if n == 1: return [o] else: s = glue(n - 1, o) done = block(n - 1, o) * (o + 1) + s if not (n, o) in bh: bh[(n, o)] = done return done sh = {} def glue(n, o): global sh if o in sh: return sh[o][n - 1] else: done = makeGlue(o, n)[0] if not o in sh: sh[o] = done return done[n - 1] def curl(word, l=0): L = len(word) c = 1 e = 1 while e < L // c and c < (l if l else L): s = e while s < L and word[-1 - s] == word[-1 - s + e]: s += 1 c = max(c, s // e) e += 1 return c def makeGlue(o, c): G = [o + 1] g = [o + 1] glues = [] while c: n = curl(G) if n <= o: glues += [g] g = [] c -= 1 n = max(n, o + 1) G += [n] g += [n] return glues, G # debug #UNUSED def findGlue(G, o): I = [i + 1 for i in range(len(G)) if curl(G[:i + 1], o) < o] + [0] I = [(I[r - 1], z) for r, z in enumerate(I)][:-1] return [G[s:e] for s, e in I] entry = block |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | def jam(semikibibit): tot = 0 while semikibibit: tot += semikibibit % 2 semikibibit //= 2 far = abs(256 - tot) if far == 256: return "no" elif far == 0: return "probably" elif far > 100: return "probably not" else: return "hard to tell" |
1 2 3 4 | (o&&,&)(p&&aah&)(suc&((n&&1&)ollyoop&)&)123&-/(&*)(s&&*)(c& &&)|(*&pp&p)(&&&n)(&*&o)(*&o&cus)*((((&,&n&t))))(*&)/(((&,((&p&p))&tid)&.&mod))& |((((dom&)1&(p&&(ame&p&1&)))(*1&p&)))((dit&(*)s&))/(**)(c&&(ame&c&1&))(yeetyi&)+ /(**)(n&n&(t&(c&c&)s&))(.&)+,|_ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | # two array, five and a half function defintions, # a class definition, and a dream primes = [2, 3, 5, 7, 11 ,13 ,17, 19] pounce = ".,;:'" # supports up to 2^65536-1 def barker(numb): def r(n): if n < 2: return "0"[:n] return "0" + "0".join("".join(str(int(d) + 1) for d in r(e)) for e in bagties(n)) return "".join(pounce[int(c)] for c in r(numb)) def parser(worb): if len(worb) < 2: return len(worb) p = 1 worb = worb.split(worb[0])[1:] for i in range(len(worb)): try: # lazy p *= primes[i] ** parser(worb[i]) except IndexError: p *= eratuto(primes[-1] * 2)[i] ** parser(worb[i]) return p read_value = lambda x: x if type(x) == int else parser(x) def eratuto(n): global primes primes += [o + 1 for o in range(primes[-1], n)] i = 0 while i < len(primes) and primes[i] < n ** .5: for n in primes[i + 1:]: if n % primes[i] == 0: primes.remove(n) i += 1 return primes def bagties(n): if n > primes[-1]: eratuto(n) # boooo out = [] for p in primes: if p > n: return out c = 0 while n % p == 0: n /= p c += 1 out += [c] return out # booooooo class YSL: def __init__(self, bod, gen=0, way=1, stk=[], dic={}, fed=""): self.bod = bod self.gen = gen self.way = way self.stk = stk.copy() self.dic = dic.copy() self.fed = fed def interpret(self): pon = -1 if self.way < 0 else 0 going = True scream = "" while going: pon %= len(self.bod) match self.bod[pon]: case "+": if not self.stk: self.stk += [""] pon = (read_value(self.stk.pop()) - 1) % len(self.bod) if self.way < 0: pon = len(self.bod) - pon - 1 case "-": self.way *= -1 pon += self.way case "*": if not self.stk: self.stk += [""] b = self.stk.pop() if type(b) == int: raise TypeError(f"Cannot comprehend integer at {barker( pon)}, level {self.gen}.") if self.gen: scream += b else: print(b, end="") pon += self.way case "/": b = 0 if self.stk: b = read_value(self.stk[-1]) pon += self.way if (self.way < 0 and b > 0) or (self.way > 0 and b < 1): while self.bod[pon % len(self.bod)] != "/": pon += self.way pon += self.way case "&": pon += self.way case "|": pon += self.way while self.bod[pon % len(self.bod)] != "|": pon += self.way pon += self.way case "=": going = False case "(": if self.way < 0: raise SyntaxError(f"Mismatched parenthesis at {barker( pon)}, level {self.gen}.") pon = (pon + self.way) % len(self.bod) b, pon = self.find_paren(pon) # has side effects if b is None: going = False case ")": if self.way > 0: raise SyntaxError(f"Mismatched parenthesis at {barker( pon)}, level {self.gen}.") pon = (pon + self.way) % len(self.bod) b, pon = self.find_paren(pon) if b is None: going = False case _: while self.bod[pon % len(self.bod)] != "&": pon += self.way pon += self.way if self.gen: return scream, self.stk else: return 0 def find_paren(self, pon): pon = pon going = True inside = False params = [] present = "" while going: pon %= len(self.bod) if inside: if self.bod[pon] == "&": inside = False params += [present] present = "" else: present += self.bod[pon] pon += self.way else: match self.bod[pon]: case "+": if not self.stk: self.stk += [""] b = self.stk.pop() params += [b] pon = (read_value(b) - 1) % len(self.bod) if self.way < 0: pon = len(self.bod) - pon - 1 case "-": params += [""] self.way *= -1 pon += self.way case "*": if not self.stk: self.stk += [""] params += [self.stk.pop()] pon += self.way case "/": b = "" if self.stk: b = self.stk[-1] params += [b] pon += self.way if ((self.way < 0 and read_value(b) > 0) or (self.way > 0 and read_value(b) < 1)): while self.bod[pon % len(self.bod)] != "/": pon += self.way pon += self.way case "&": params += [""] pon += self.way case "|": if self.way < 0: params += [len(self.bod) - pon] else: params += [pon + 1] pon += self.way while self.bod[pon % len(self.bod)] != "|": pon += self.way pon += self.way case "=": return None, 0 case "(": pon += self.way if self.way > 0: b, pon = self.find_paren(pon) params += [b] else: going = False case ")": pon += self.way if self.way < 0: b, pon = self.find_paren(pon) params += [b] else: going = False case _: inside = True match params: case []: if self.gen: return self.fed, pon else: b = input() # unfortunate limitation of my means b = "\t".join(b.split("\\t")) b = "\n".join(b.split("\\n")) return b, pon case [one]: while one in self.dic: one = self.dic[one] self.stk += [one] return one, pon case [one, two]: while one in self.dic: one = self.dic[one] while two in self.dic: two = self.dic[two] s = read_value(one) - 1 if s < 0: s += len(self.bod) e = read_value(two) - 1 if e < 0: e += len(self.bod) suede = self.bod[::self.way] sxtra = 0 extra = 0 if s < e: while s < 0: sxtra += 1 s += len(self.bod) while e > len(self.bod) - 1: extra += 1 e -= len(self.bod) if sxtra or extra: b = suede[s:] + suede * (sxtra + extra - 1) + suede[:e + 1] else: b = suede[s:e + 1] if s > e: while s > len(self.bod) - 1: sxtra += 1 s -= len(self.bod) while e < 0: extra += 1 e += len(self.bod) if sxtra or extra: b = suede[e:] + suede * (sxtra + extra - 1) + suede[:s + 1] else: b = suede[e:s + 1] b = b[::-1] if s == e: b = suede[min(s, e)] return b, pon case [head, one, two]: while one in self.dic: one = self.dic[one] while two in self.dic: two = self.dic[two] match head: case "ame": return read_value(one) + read_value(two), pon case "dom": return read_value(one) - read_value(two), pon case "tim": return read_value(one) * read_value(two), pon case "spa": if read_value(two): return read_value(one) // read_value(two), pon else: return "", pon case "wal": if type(one) == int: raise TypeError(f"Cannot comprehend integer at {barker( pon)}, level {self.gen}.") baby = YSL(one, self.gen + 1, self.way, self.stk, self.dic, two) b, t = baby.interpret() del baby self.stk = t return b, pon case "suc": # still a mess # does not cross program edge, so I.P. can be decided if type(one) == int or type(two) == int: raise TypeError(f"Cannot comprehend integer at {barker( pon)}, level {self.gen}.") if one == two: return "", pon first = (self.bod[:pon + 1] if self.way < 0 else self.bod[pon:])[::self.way] lirst = (self.bod[pon + 1:] if self.way < 0 else self.bod[:pon])[::self.way] suede = lirst + first if not one: self.bod = (lirst + two + first)[::self.way] if self.way < 0: pon += len(two) return "", pon if one in first: b = first.index(one) first = first[:b] + two + first[b + len(one):] self.bod = (lirst + first)[::self.way] if self.way < 0: pon += len(two) - len(one) return one, pon if one in suede: b = suede.index(one) suede = suede[:b] + two + suede[b + len(one):] self.bod = suede[::self.way] if self.way > 0: pon += len(two) - len(one) return one, pon return "", pon case "dit": return (two if one == two else ""), pon case _: if one == "": self.dic[head] = two return two, pon if two == "": self.dic[head] = one return one, pon if type(one) == int or type(two) == int: raise TypeError(f"Cannot comprehend integer at {barker( pon)}, level {self.gen}.") self.dic[head] = one + two return one + two, pon case _: raise SyntaxError(f"Too many parameters at {barker( pon)}, level {self.gen}.") if __name__ == "__main__": with open("lass.ysl") as prog: lass = YSL(prog.read()) lass.interpret() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | # hey, moshikoi. youre finally awake. you can trust me. i know what i'm doing. # just copy my submissive! or read up on https://esolangs.org/wiki/Stack <3 <3 who = 0; STACK = []; p = 0; KCATS = []; q = 0; RAM = {}; def POP() -> int: global who, STACK, p, KCATS, q; if (who): if (not KCATS): return 0; else: q = q - 1; return KCATS[q]; else: if (not STACK): return 0; else: p = p - 1; return STACK[p]; def PUSH(v: int) -> None: global who, STACK, p, KCATS, q; if (who): if (len(KCATS) > q): KCATS[q] = v; else: KCATS = KCATS + [v]; q = q + 1; else: if (len(STACK) > p): STACK[p] = v; else: STACK = STACK + [v]; p = p + 1; def READ(i: int) -> int: global RAM; return RAM.get(i, 0); def WRITE(i: int, v: int) -> None: global RAM; RAM[i] = v; from random import randrange as RAND; from random import seed as ROUND; def RECOMB(S: str) -> list[int | tuple[int, str, str]]: global who; i: int; j: int; c: int; m: int; i = 0; while (i < len(S)): match (S[i]): case 's': who = 1 - who; case 'o': who = 0; case 'p': WRITE(POP(), 0); case 'f': PUSH(READ(POP())); case 'w': WRITE(POP(), who); case '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' as v: PUSH(v - '0'); case '"': j = i + 1; while ((d := S[j]) != '"'): PUSH(d); j = j + 1; i = j; case '?': PUSH(RAND(POP() + 1)); case '¿': ROUND(POP()); case '+': PUSH(POP() + 1); case '-': PUSH(POP() - 1); case '/': PUSH(1 / POP() * POP()); case '*': PUSH(POP() * POP() / 1); case '%': PUSH(-POP() + POP()); case '<' | '=' | '>' | '&' | '|' as c: PUSH(eval(str(POP()) + c + str(POP()))); case '!': WRITE(POP(), POP()); case '\\': c = POP(); PUSH(c); case ':': PUSH(POP()); PUSH(i); case '@': PUSH(READ(POP())); case '#': PUSH(0); case '.': POP(); case ',': PUSH(READ(i)); case 'î': if (POP()): PUSH(POP()); PUSH(i); case 'ô': if (POP()): PUSH(p); else: PUSH(q); case '[': c = 1; j = i; while (c): j = j + 1; match (S[j]): case '[': c = c + 1; case ']': c = c - 1; case '|': if (c == 1): m = j; c = POP(); while (1): RECOMB(S[i + 1:m]); if (not POP() or not c): break; RECOMB(S[m + 1:j]); c = c - 1; i = j; case '~': who = POP() % 2; case '§': i = -1; case _: None; i = i + 1; if (__name__ == "__main__"): import sys; ROUND(59); if (len(sys.argv) - 1): RECOMB(sys.argv[1]); else: RECOMB(input()); print(f"{STACK[:p]}\040\162\145\163\165\154\164\163\040\061\060\060\045\ \157\146\040\164\150\145\040\164\151\155\145\056\040\040\040\040\040\040"); #\163\141\156\163\040\165\156\144\145\162\164\141\154\145 look at stripes! #/ / / / / / / / / / / / / / ,_______________ #/ / / / / / / / / / / / / / / / / / |\ #--\___\___\___\___\___\___\___\___\___\___\___\___\___\___\___\___\___\___\/ |
1 | D'`r@]KJ[HY3z16wR3Q+Op(o]I7jj4~C$Tz!QP+u):[qvon4lqpingf,jchgf_%FEaZY^]VzZ<XWPUTMqQ3ONMLEiIB*FE>bB$@?>=<5Y9yx6543,Pqp('&J*#"'~D$dc!x}v<;yxqYutm3qjoh.fN+Lhgfedc\"CB^W\UyYXWP8NMLpJ2NGkE-IBA@d>&<`:"87<;:3W76v43,+O/o-&J*)i!~}C{cy?}vu;sxwpun4Uqjing-kjihJI_%c\a`_X|V[ZYXQu8NMRKPIHGk.JCBGF?cC<A:^>=<5:3W7wv.-2+O)o'&J$H(!g%${A!~w_utyxq7XWsrkji/mledihgf_^$\aZ_X]VzT<RvVUNrRQ32NMLEDhHGF('C<`#"8=<;:3W1w54-Q10po'&+$#(!E%$#"yx>_utyr8Yun4Ukpi/glejc)J`e^]#"CB^W\UyYXW9UNrLQJONMLEDhHGF(DCBA@9]=6|:32V6/u3,+*N(',%$H('~%$#"y?`_uts9wYXn4lTjohmlkjib(fH%]\[`_^WVzZYXQ9UNrRQJImGLKJIHAe?DCBA:^>=6|:32V654321*p(L,%k#('~}C{"yx}|u;sxwpun4lTjongf,dchg`_%Fb[ZY}]\U=YXWPt7SRQPOHGkKDIBAe?'=<;_?>=6|:32V6/u-,+O/('&+*#G'gf${Ab~w|u;sxwvon4rTSohgle+ihgfH%cba`BX|\U=SwW9ONSLpPIHGk.JCBGF?cC<A:^>=<5:3W10543,P0)o'&Jk)"F&%${cy?`_uzsrq7Xnsrkjoh.lkjLKa'HGcb[!_^]\[Z<RvP8TSRQPImM/KJIBAe(DCB;:?>7[|{9870Tu3,10).'K%*#"!E}${Ab~w|u;y[qvon4lqpingf,jchgf_%FE[`_X]VzTSRQVUNrRQ32NMLEDhHGF('C<`#"8=<;:3W76/u321*N.-,+k#G!g%${Ab~}v<;yxq7onmlk1oQgfkjib(fe^]#[CYX]\[ZYRvV87MqQ32NMLEDhBGFEDC<;_?!76;:3W76/u3,+*Non&%Ij(!~%|Bc!x>_uzyrq7XWsl2pRhmfkjiha'eGc\[!YA]\[TxXWP8TMq4PONGLEDhHGF(>C<A@9]=<5{3W105.32+O)o'&J$)"!E}$#zyx>_{tyr8vuWslkj0ngf,Miha'&^]baZ~^@?UZSRWVOs6RQJINGkE-IBA@dD=BA@?8\6|:32V654-Q10/('K%k#('~}C{c!~}v<]yxwvutm3qponmfN+ihgfe^F\"C_^]\[TxXQ9OTSLKoONM/EiIHG@ED=aA:?87[5{321Uv.R210/o-&J$j"'~D|d"!x}|ut:xwpXn4rqjonmf,jihgfH%cba`BX|\>=SwWP8NSLKoOHMFjDIBAF?>=aA#">7[5{321U/.3,10/(L,lk#G'gf${Aya}|{ts98Yonmlk1oQgfkjib(fe^]#DZ_^]VzT<XWPt7MRKJIHlF.DhHGFED=%;_?!7<5:981U/u3,+*N('&+$H('&feB"!a}|u;y[Zpotm3qponmfN+Lhgfedc\"CB^W\UyYXWP8Nr54JONMFEiCHGFE>bB$#9]~<5Y3y76/S32r0)M',%*)('~D$dz@~w_{zyxwp6WVrkjong-kMLhg`&^cb[`Y}]\[ZYRvVUTMLp3INGFjJ,BAe(D=<A@?>7[;:z870T432+*)M-,lk#G'&%|d"y?}|^]yxq7XWmrkpong-kjihgfH%Fb[ZY}]\U=SwWVUN6Lp3ONMLEDhB*FE>bBA#">7[|{381Uv.3,1*Non&%Ij('~}|Bcb~w|u;s[q7XWsrk1onmfe+ihgfH%c\[`Y}]\U=SwQPtNSLKo2NGFjD,BGF?cC<;@?>=6;4X8x6/St,1*/.-&J*)(!&}C#c!x}v<]\xqputm3qponmfN+LKa'HGcb[!B^]\UySXQPOsSR4JONGLKJCg*@E>=B;_9>7<54X2165.3,P0po-&%*#G!~%|{A!~}_{t:xZvo5mrqjohg-NMcba'eGc\[!_^W{[TSwvP8NSLKo2NGFjJIB*FE>bBA#">7[;{32V0/.R,r0/.'&%I)(!&}C#c!x}|u;yrZvun4Ukpi/Plkjiha'Hd]\[ZY}@VUTxX:Pt7SRQPOHGkEiCHGF?>CB;_?87654X87654-s+*NMn,%I#('~%|{A!a}v<]\xwpun4rTSihg-Njcbgf_%cE[`Y}]\U=YXWPt7SRKJImG/EJCHAe?>CBA:?87[|432765.R2r0/(',+$H"!&%${z@a}vuzs9wponm3TSihg-Njiha`ed]#DZ_^]VzT<XWPt7MLKJImGLKDhBG@E>=<A:^!~<;4X876v43,+Op.'K%*)('&}C#c!x}|u;yxq7XWsrk1Rngfkd*hJIedcb[!BA]\[ZYRQu8NMRKPIHGkKJ,HG@d'C<A:?>7[;49870T432r0/.'K+$j"'~D$dc!x}vu;\xqpo5srqjoh.ONdiba'HG]#a`_^W?[ZYRvPUTMqKJIHlL.JIHG@d>&BA@9]=6|:32V05.32+Op.'K+$j"'~D$#"!a}|u;yxZpunsl2ponmfe+Lbaf_^]#[`Y}]\U=YXWPt7MLKoONML.DhBG@?>bB$@9>7[;{32Vw5.3,10)Mn&J*ji!Efe#zyxwv<]srwvo5srqji/mfNdibg`&^$bD`_^WVzZ<XWPUTMqQJnH0FKJCHAe(D=B;@?>7[;43W10543,P0)o'&J$Hi'&%|{"y?}_uts9wvXWsl2poQmle+ihgfH%F\[`_^W{>=YXQuO7SLKJn1GLEDhHGF(DCBA@9]~}5Y9yx65.R2+*/.-&Jkj"F&feBc!x}|ut:xqYutm3qpongOe+ibJ`e^]#DZ_^]VzZ<Rv9OTMLpPON0/KJIHAeE>=B;:9]~<5Y3y1UT432+*)M-m%$)(!E%$#zb~w={]yxwvo5srqponmfN+LKafed]\"`Y^W{>TYXQPt7MLKJImMFEDCgGFEDCB;_"!7[5{321U54t2+O/o',+$#G'&%|#"!x>|^]s9qvotmrqj0nPf,jLbaf_%]baZ~^@?UZSRWVOsS54PImM/EiCHG@EDCB;_"!=<5Y3y1UT432+*)M',%*#G!g%${A@~}vutyrqp6nmlk1onmfN+ibJ`&^cbaZ_XW{>ZSXQVOs6LQJImMLEJIHAe?>CBA:?87[;:98xw5.R21*/.-&J*ji'~D|d"!x}|ut:xqvutm3TSonmf,jiba'eGF\[`_^W{zZYX:PUNrRQ32NMLEDhHGF?>C<`@9>=<;4X87wv4-Q10/o-&Jk#(!~%${Ab~w|u;y[qvotsrk1inmle+LKa'eGc\[!YA]\[TxXWP8TMqQJOHlLEJIHGF?cCB;:9]=<|{9870T.-,10)M-,l*)"F&%${cy?}v{tyr8vonsrk1oQgfkjib(`Hd]#a`_^W\UyYRWVUTMqQJINGFjJ,BAeED&B;_?!=654X876v43,+Opo'&%I#('~D${cy?}v{tyr8vXWsl2jihmle+ihJIedcb[!BXWV[ZSwQ9UTMqQPONM/EiI+A@dD=<;_?>=6|:32V6/u-Q1*/.'&%I#('&%|Bc!x>_{tyr8vutVrkji/mfN+iKJ`ed]b[!_X@VzZ<XQPOsSRQP2HlL.JIHG@d'=BA:?87[;4z816/4-Q1*p(L&+*)"'~D$dc!x}vu;\xqpo5slk1inmlkdcb(feGcba`Y}]\[T<RQVOsSRQJImGLKJIBAe(DCB;_?!=<;4Xy165.-Q1*/(-&%Ij('~}|Bcbxw|{zs9qpotm3Tjong-kjihgfH%c\[`Y}]\[T<RQVOs65KPIHGkKJIHAeEDC<;:?8\<|432V0/432+*No'&%Ij"'&}C#"bx>|uzsxqpo5mlqj0nmfN+ihg`H^$b[Z_^W\UyYXQ9UTMqQJ2NMLKDhHA)E>b%A@?87[|{92V6/.3210)(L,+$j"'~D$dc!~}v<zyxq7utVrqpingf,dib(I_^]\[!B^WVUyYX:VOsSRQ3IHGkEiCBG@E>b%$:9>=<5Y3876/.3,P0po'&%I)(!&}Cd"!~}v<tsrq76WVlqji/mlkdcb(fH%]\[`_^WVzTSwWP8NrLQPImM/KJIBAe?DC<;_?>~654X876v43,+O/(n,%Ij"'&}C{c!~}v<]srwvo5srqji/mlNMiha'edFEaZ~A@VzZYXWVUNrRQ32NMLEDh+*F?D=BA@?8\<;:z870T432+*)M'm%$)(!Efe{z!x>_{zsrq7unsrk1ihgle+ibJ`e^]#DZ_^]Vz=YXWVUTMqQPONM/EiI+A@dD=<;_?>=6|:32Vw5.3,10)M',%*)('~Dedzyx>|^]yxq7XWmlk1ihgle+ibJ`e^]#DZ_^]VzZYXQ9UNr5QPIHGkE-IBAeE'=<A@?8\<|438765.R210).-&J$j('&}C#"!~}_{t:xwYXn4rqjonmf,jihgfH%]E[`Y^W{UZSXWPUTMq43ImM/EiI+A@dD=<;_?>=6|:32V654-Q10/('K+$)(!EfeBzyxw|u;\xqpo5mlqpohg-kjihJI_%cba`Y^W{>TYXWPt7SRQPOHGk.JIHAe?'=<;:?8\6;:981U5432+*)M-,%$)('~D${c!x>_utsxqpo5mlk1onmfN+ihgfe^F\"CBX]VUyYXQ9UTMqQJ2NMLKDhBG@?>bB$@987[5:9870Tu3210).-,%$HG'gf${A@?}_uzyxqpo5slqping-kdchg`_%]ba`Y}]\[T<RQVOsSRQ3IHGkKJI+A@dD=<;_?>=6|:32V05.-2+0/(L,+$#(!&}C#c!x}|u;yxwYutm3Tjinmle+LKgf_%cba`Y}]?>ZSRQuUNMRKPOHlF.JCBG@dDCB;_?>=<|{92V0v4-Q+*/.-&J*)(!~}C{zy~w=^]sxqpo5srqjRnmf,MLbgf_dc\"ZY^W{[ZYRvVUTMLp3ONMLEDhHGF?'C<`#?>7<;:32Vwv.-2+O/o-&J*)i!~}C{cy?}vu;yxwvXnm32SRngfe+ihJI_%cbDCYXW{U=SRWPt7MLKoONGLEi,HA@?c=<A@98=<;4X21054-Q10p.-&+$H(!~}C{cy?}v{tyr8punsrkjoh.Okdihgf_^$#a`BXWVzZ<XWPUTMq43IHMLEiC+AFEDC<;_?>~}5Y3876/.3,Pqp(',+*#G!&}${z@~w_{zyxwp6tsrqjRnmf,jihgfH%cbDCYXW{>=YXQu8NMLpJOHGkKJI+G@d>C<;:9>=6Z498165.-Q10)o'&J$)"!EfeBc!~}|u;\xqpo5srqjoh.lNMib(fH%]E[`Y^W{>ZSXQVOs65KPIHlL.JIHG@d>=BA@?8\6|:32V654ts+O)o'&Jk)"F&%${cy?}|^]s9Zvutmlk1onmfN+Lhgfedc\"CYX|?>TYXQPt7SRQPOHGkE-CHA@d'CBA@?>=<5Y92x6/S3210/o-&J$j"'~D${c!x>|{tyxq7oWsl2ponmfN+LKa'_^$\[`_^W{UTSRWVOsM5KoOHMFjJCHGF?cCB;@?87[;:z8765.R,1*/.-&%Ij('~}|Bc!x>_{tyr8vutsrTpoh.fN+ihg`_^$bD`_^W{>=YXQuU7SRKo2NGFjJ,HAF?>bB$:?8=6Z:3y76/St,+Opo'&%Ij(!~%|Bz@a}vuzs9wvXWsl2ponmfN+ihaIe^$baC_^]\UyYXWP8NrLQPImM/KJIBAe('C<`#"8=<;:3Wx0/43,P0po'&+$#(!E%|#"y~w=^]sxqpo5srTSihg-kjLKa'eG]ba`_XWVzT<RvVUTSRQPIm0FEDIHGF?>bB$@987[Z:9876v43,+O/o'K%$H(!&%$#z@~w_{zs9Zvutsrkpi/gfe+ihgfH%]E[`Y^W{[T<RQVOsS54PImMLK-IBfF?'=a$:?>7<54X876v43,+O/.n,+*)"F~f$#"!x>|uzyr8putmrqpoh.lkjLKa'HGcb[!_^]\[Z<RvP8TSRQPIm0FEDCBAeED=<;_?>=6|:32V05.-2+0/(L,+$#(!&}C{c!x>_{tyr8vutsrqpi/mlkjiba'e^cb[!_XW{[T<XWPt7MLKJImMLK-IBfF(D=<;_?!=<;4X8x6/St,+Opo'&%Ij(!~%|Bz@~w=^]yxq7Xtmlkj0nmfN+Lhgfedc\"CB^W\UySXWPUTMqQJ2NMLKDhHA@dD=<`#"8=<;:3W1w54-Q10/('Kl*)"Fg%|Bcb~w|u;yrZvun4rqpi/mONd*hgfH%]b[ZYX|\>=YXQuUTS54PImML.DhHA)E>bB;:?>7[;498765.RQrq)M'K+k)"'~}C#"!~w=^tyrwvutm3kSinmlkdib(I_^]\[!B^]\UyYXQ9UNr54Jn10LKJCgGF?cC<;@?>=6;4X21054-Q10)o'&J*)(!~}C{z!x}|u;\xqpo5srqpohg-NMib(fHGcb[!YA]\[Tx;WPUTMq4PONGLEDh+GF?>=aA:?87[;:z8765.R2+*)(Lm+*)"F&feBzb~}|uts9qvo5srkj0QPlejchg`&dFb[`Y}WV[TxXW9UNrRQJOHMFj-IHG@dD&B;_?!76;:3W70/S3,+*)M',+*#(!E%$dc!x>_{zsrq7unmlk1onmfN+LKa'HGcb[!_X@VzT<RQVOsSRQ3IHGkKJI+A@dD=<;_?>=6|:32V05.32+Op.'K+$j"'~D$#"!~w={tyxq7utVrqpingf,diha`_%cE[`Y}]\>=SwQ9UNrRQJImG/EJCHAe?>CBA:?87[54321U5ut,P0/.'&%$Hi!&}${Ab~w|u;yxwYutm3TSihmf,jchgf_%]E[`Y^W{>=YXWPOsSRQ3ONMFjJIHA@d'CB;:?8\6|:32Vw5.-210/(L,%k)"Fg%|#"!~}|ut:[qpotsrk1ongfe+Lhg`_^$EaZ_X]\UyYRWVUTMq43ImGFEJIBfeEDCBA#9]=6|:32V05.32+O/o-&JI)i!&%|B"!x}|u;yxZpotm3qpoQPlkd*KJ`edc\[!BXWV[ZSwWP8NMLpPIHGLEiIHGF(>C<A@9]=<|{381U5u-2+*Non&%Iji'&%|Bc!x>|{tyxq7utsrTSong-kjihgfH%cbDCYXW{>=YXQu8NMLpPINMLEiCBG@d>&<A@98\65Y981w/.32+O).-&+*#(!E%${c!x>_{tyr8Yutsl2pRhmfkjiha'eGcba`Y}]\>=SwWVUTMq43IHGkKJ,HG@d'CBA@?>=<5Yz810/S32r0)(-&Jk)"!&}C#zb~wv{t:[Zponm3qponmfN+iKg`_^$\aZ_XW{U=YXWPt7SRQPOHGk.JCBGF?cC<A:^>=<5:3W10/S32r0/(L,+$j(!EfeB"yxw={]yxwvo5mlqpohg-edcb('eGc\[!YA]\[TxXWP8TMqQJOHlLE-IBAe(D=<A@?>7[;432765.R210/o-&J$j"'~D$dc!x>v{zs9wYunmrk1onPOe+cbg`_%FEaZ~A@VzZ<XWPUTMq4PONGLEDh+GF?>=a$@9>7[;{32V0v4-Q10/('K+$)(!E%edzy~}|u;yxwvXWsl2pi/mONdiba'eGc\[!_^W\UZSwQ9UNrRQ32NMLEDh+*FEDCBA:^!~<;4Xy70Tut,+0)Mn&Jkj"F&%${cy?}v{tyr8vutVrkji/Plkjib(`Hd]#a`BX|\U=Sw:PUTSLKoONM/EiCHG@EDCB;_?>~}5Y9yx6543,P0/o-&J$j"'~D${c!x>v{tyrq7otsrk1ih.ledcbaf_%FE[Z_^WVzZ<XWPUTMqQ3ONMFjJIHA@d'CB;:?8\6|:32Vwv4-Q10).-,+*#G'&}${A!~`_{zs9Zvutsrkpi/mlNMiha'edF\[`_^W{>=YRQuONMRQJImGLEDhBGFEDC<;_?!7<5:981UT432+*)M',%*#G!g%${Aya}|u;srqvutsl2ponPled*ba`e^]#[Z_^W\UySRQPt7SRQPImGLKDhB*FE>b<;@?8=6Z{z870T43s+O)o'&J$)"!~}C#zb~w={]yxwvo5srqponmfN+iha`_%]E[`Y^W{>=YRQuONMRQJImGLEDhHAF?DCBA:^>~<;:3W165.-,P0)(-,%$#(!E%|#z@~w_{zs9wYXtsl2Sonmf,jihJI_%cba`_A@VzZYXWVUNrRQ32NMLEDhBGFEDC<;_?!=654X8x6/St,+Opo'&%I#('~D$dc!~}v<]\xqputm3qpongO,jLbaf_%cE[`Y}@V[TSw:PUNMqKPINMLEDhHGFE>&<`:?8=<5Y92765.RQ10/o-,+$Hih&%|{z@~}|^]yxq7uWmlqpi/mfN+iha`_%]E[`Y^W{>=YXWPOsSRQJn10FEJCgGF?'=a$@9]=6|:32V0/432+Op.'K+k#G'&feBc!x>|^]yxq7XWsrkji/.lNMiha'ed]ba`_X|V[ZSwQPtN6Lp3ONMLEDhBGFEDC<;_?>~}5Y9876v43,+Op.-&+$)"F~f|#"y~}|u;sr8YXtsl2ji/mfN+ihg`_^$bD`_^W{>=YXQuU7SRKoON0FEJIHAe?>C<A@9]=<5{3W76v43,+Opo'&%I#('~D$dc!~}v<]\xqputm3qponmfN+LKa'HGcb[!_X@VzZ<XWPUTMq4PImG/EJCHAeE'=B;@?>7[;49870T4t2+*)Mnm+$)(!Efe#zyx>_{tyr8YXtsl2Sinmlkjiba'eG]b[`Y}@V[TSw:POTSLpPIHGkK-IBf)?DCB;@?>7[;:z81U54t2+0).-&J$)"'~De{"y~w={]\xqpo5srqpohg-eMibg`_%F\[`_^W{[ZYX:PtT65QJn1MLKJCg*)ED=<`#"8=<;:3W76/u-,+Opo'&%Ij"'&}C{c!x}|ut:[wvun4rqpRh.Okdihgf_^$\aZY^]\[Tx;WPUTMq43IHMLEiC+AFEDC<;_?>~}5:9810T.32+0)(L&+*)(!~D${c!x>_{tsrwvun43TSoh.leMihgf_^]#a`BA]\[Tx;WPUTMqQP2NMLEJCHAeED=BA@?8\<|438765.R,r*)(L&+$)(!~%${Ab~w|u;yrZvun4Ukpi/mONdcha'edFEa`_X|\[Z<RvVUT65QJnmGLEDIBf)dDCBA#">7[|{9870Tu3,10).'K+k#G!g}|{A!a`|u;\xqputm3qponmfN+LKgf_%cba`YX|\[ZSRvVOTSLQPImGLEDIBAe(D=B;@?>7[5432V6v43,+O/o',+$#G'&%|#"!x>_{tyr8vXWsrk1Rngfkd*hgfH%cbDCYXW{>=YXQu8NMLpJINMFjJ,BAeEDCB;_?!=<;4X2765.3,1*N.-&+$Hih&%|{z@~}|{ts9wvunsrk1onPf,jiKg`_^$ba`BX|?UyYXQ9UTMqQPONM/EiIB*@EDC<;_?!~6;:3W16/.R2+*)Mn,%$#G!&%|{"y?w_{zyxwp65Vlqji/mfN+cha`_^$ba`BX|VUTYXWPt7MLKJImM/KJIBAe?'=<;_9>=<5492Vw5.3,10)M-,lk#G'gf|#"y?}_uzyxqpo5Vlqji/glkjib(`Hd]#aC_^]\Uy<;QVUNSLpPIHGk.JCBGF?cC<A:^>=<5:3W10/S32r0/(L,+$j(!EfeB"b~}v<zyxq7XWmlk1ohPfkdc)JI_d]b[!B^]\UyYXQ9UNrLQPINGLEiC+AFEDC<;_?!7<5:981U/.3,P0po'&%I)i!&%${z@~}|^]yxq7utVrkji/mlejc)JI_dc\[!_X]VUZSwQPtT6LQPImM/KJIBAe('C<`#"8=<;:3Wx6/.3,P0po'&+$H('&feB"!~`_{zs9qYutm3TSonmf,+cb(fedFEaZ~A@VzZ<XWPUTMqQPONM/EiCHG@dDCB;_"!=<5Y3y76/St,1*/.-,%Ij('~D${c!x>|{zyxwp6nsrkjoh.fkdcbg`&dFb[`Y}]\[=<XWPtNSRQJnNMFKJCg*)EDCB;_?!=<;4X276/S3210/o-&J$j"'~D$#"!a}|u;\xqputm3qponmfN+ihaIe^$\a`Y^WVzT<RvVUTSRQPIm0LEJCBfFEDC<;_?!=654X210/St,+O/o-,%$#G!~%|{A!~}_{t:[qpotsrk1ohmfe+Lha`ed]#a`BX|\[TYRvVUNMRKoINGFEJIBAe(D=<A@?8\6;43870/.R,10/('&J$j(!E}|#z!x>_{zyr8vXWsl2jihmle+Lhg`_^$E[!BXWV[ZSwWVU7SRKoON0FEJIHAe?D=<;_9>=<5492V0/.-Q1*/.'&%I)(!&}C#c!x}|u;\xqputm3TSihmf,jibg`&dFb[`YX|V[ZSwWVUT6Lp3ONMLEDhB*FE>bB$@?>=<5Y9876v43,+O/.n,+*)"F&%|dz@~`_uts9Zvutmlk1onmlNMcba'eG]\[Z_X|\UTYRvP8TSRQJnNMFEiC+A@EDCB;_?>=6|:32V654-Q10/('K+$)(!Efe{z!x>|ut:xZpotm3qponmfN+ihaIe^$ba`BX|\U=YXWPt7SRKJImM/KDhBGF?>=aA#">7[;{32V65.-,P0).'K+k)"!~}${A!x}|u;yxwYXn4lqpihg-kjibg`&dFEaZ~^]?[TxX:Pt7SRQPOHGkKDIBAe(DCBA:^8=<;492Vwv4-,+O/o-&J*j"!~D${cy?}v{tyr8vXWsrk1Rngfkd*hJ`ed]\"`B^W{[ZYX:VOsrRQ3IHGkK-IBfF(D=<;_?87[5{321U543,r*Non&%I)('~}${Aya}|u;\xwpon4rTSoh.Okdib(feG]\"ZY}W?UTx;WPUTMqQPO1GkE-IBA@dD=B;:?8\<;4981U5432+*)M'm%$)(!Ef$#"!~}v<z\xwpotm32poQPlkd*hJ`ed]\"CB^W\UySXWPUTMqQPOHGkjJIHA)?cCB;@?87[54321U5ut,Pqp('&Jkj"F&feBzb~w=^]srqpo5srqpihg-eMc)JI_dc\[!B^WVUy<XWVOs65KPIHGkKDCHAeED=BA@?8\<;432765.R21qp(L,+$j(!E}|#z!x>v{ts9qpotsrk1Rhmlkjc)gfH%cbaZYX|\[Z<Rv9OTMLp3ONMLEDhBA@?>bB$#9]765:981UT432+*)M-,lk#G'&%|d"y?}|^]s9ZYonmlk1onmfN+LKa'HGcb[!_X@VzZ<XWPUTMqKJONMLKDhB*FE>bB$@9]7<;:981U5u-2+*Non&+*)('~}C#z!x>vuts9wvXWsl2ponmfN+ihaIe^$ba`BX|?Uyx;WPUTMq43IHGkKJ,HG@d'=BA:?87[;4z816/4-Q10po'K+$j(!E}|#z!x>|{t:xq7utmrqpi/.lejihg`&dcb[`_^WVzZ<XWPUTMq43IHMLEiCHGFED=aA#"8=<;:3W7w5.-210/(L,%k)"Fg%|#"!~}|ut:[qpotsrk1onmlkdcb(fHG]#a`BXWVz=YRvVUNMRKoO10FEJCg*@E>=B;_?!7<54X81w/.32+O/o',+$)"F&feBc!x>|{tyxq7otsrkpi/mlkdcb(fHG]#DCY^WVzZ<XWPUTMqQPONM/EiIH*FE>bBA@?87[549870/St,+0/('K+$j"'~D${c!x>|{tyxq7uWsrqpi/Plkjchgf_^$\aZ_X]VzZYXWP8TMqQJOHlF.JCBG@d'=B;:?>7[;498765.RQrq)Mnm+*)"'~D$dc!~}v<zsxwpunsl2ponmfN+LKgf_^c\"`B^W{[Z<RvVUT65QJnmGLEDIBf)dD=<A:^>~6549270TS3s+O)o'&J$)"!E%${c!x>_{tyr8vXWsrk1ihgf,Mchgf_^$bD`_^W{U=YXWPtTS54PIm0/KJCBAeEDCBA#9]=6;4X876/.3210)(Lm+*#G'&feBz@~}|^]s9Zvutmlk1onmlNMcba'eGcba`Y}]\>=SwWVUTMqQPONMLKJCg*F?>=<A@?8\}54321UTut,+0)Mn&+*#('~D|#z!~}|ut:[Zpotm3Tjong-kjihgfH%]E[`Y^W{UZSXWPUTMqQJ2NGkE-IBA@dDCB$@9]7<;:981U/.3210/(L,+$j"'~D$#"!~w=^]s9qvunmrqpi/gf,Mchgf_^$bDZ_^]VzTSXWVUNrLQJONMLEDhBAe(DCBA:^8=<;492V6/u-,+O/('&+*#G'&feBz!x}|u;yxZvo5srkponmf,jLKa'eGc\[!_^]\[Z<Rv9OTMLpJOHlL.JIBfF(D=a$@9]~}5:32V6v43,+Opo'&%I)i!&%${z@~`_uts9Zvo5Vrqjing-Njchg`&^]#"`_^@VUTxXQ9UNr54JnH0LKJIBAe?DC<;_?!76;:3W76/u3,+*Non&%I#('~}C#"!a}v<]\xwpun4lqjonmf,Mchgf_^$bD`_^W{[T<XWPt7MLKoON0FEJIHAeE'C<A@?>7[;{32V65u32+Op.'K+k#G'&feB"b~}v<z\xwp6WVlqpih.fN+LKgfe^$bDCYXW{UTYRvVUTMqKPINMLEDhH*FEDC<;:^>7<5:3W76v43,+Op('&%*)"Fg%|#"!~}|ut:[qvon4Ukpi/Pledihg`&^]\a`_X|\[ZSRvVOTSLQPIm0FEDIHGF?>bB$@?>=6Z{z870T432+*)M'&+$Hi!&}|Bcb~w|u;yxq7utVrqpi/mONdiba'_^]ba`Y}@V[TSwWPONMq43ImML.DhBAF?>bB$#9]~<;43W76v43,+O/o-,%Ij('~D|#z@~}|ut:[Zponm3qponmfN+LKa'HGcb[!_X@VzZ<XWPUTMq4PImM/KDhg*FEDCBA:^>=6|:32Vwv4-Q1qp('&Jk)"!&}C{z!xw=uzyrwp6nm32pRhgle+ibJ`e^]#"CB^W\Uy<XWPtTMLpP2NGFEiC+G@EDCB;_987<;:9810Tu3,10).'KJ*)(!&}C#cyx}vu;yxwvXnm3kjihmle+Lha`ed]#a`_A@\[TxXWVONMLpPOHGk.DCHAeED=%A@?>=6Z4z210TA |
just like iamcal's homespring.js implementation our program aims to be compliant with the 2005 proposed language standard put forth by our beloved Jeffrey Binder and also "jneem"
unfortunately because of the fishy nature of the language it is hard to find a canonical specification of it that works completely
as you have found out, the tio.run version is bugged (and in particular explodes if there is a "split" anywhere)
this is because JB himself wrote the Guile Scheme implementation with a silly parenthesis mismatch in one of his "map"
anyway, even the thing found here is slightly bugged because the Data.Char found on line 3 is treated as a Char token with many spaces in front, but it's what i worked with because everyone should have js
i also can't help but notice that it's still syntax highlighted like haskell
meow
memw meow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | -- // Universe 8y SansOfUndertale#9345 (UID: 414833316080910341) // -- -- ---- ------ -------- ---------- ---------- -------- ------ ---- -- import Data.Char neq n q = toUpper n /= toUpper q nem [] = [] nem (h:t) = h : nem (filter (neq h) t) c = "Waffle, Reall wonderyful Do u ever dream about EATNG. waffle hnhng,, Sorrysorrysorry" x = "grow showing who .? GROW SHOWING WHO?!" s = nem [h | h <- c, elem h x] -- your soul evaporates now -- lisabeth = "I just have to bridge this gap of understanding; please bear with me here!! ! ! !" holliday = "I rly rly just need to buy some time, so my friends can escape with their lives;" writing = "it does n t seem like this plan will work -- I am still trying very hard, though !!" really = "What the hell is a hatchery supposed to be, anyway? A wise Ard once told me!" funny = "He had snowmelt magic powers also. She could even summon torrential snowmelt!" lmao = " " rue = "You walked along the bridge some years ago. The path ahead narrows but it's fine;" me = "it does not split (you think). The ground is marshy beneath, so very marshy where" i = "the bridge is planted. You are surprised that it can bear this weight, but you're" am = "nearly to The Hatchery already. You stop to pluck a rose, but it FUCKING PRICKS" not = "your SOFT DELICATE SKIN and you CRY an DOWNPOUR like a SNOWMELT 's worth of TEARS" what = "oh by the POWERS ABOVE how could this HAPPEN to you? How HARSH a FATE imparted??" looks = " " within = "DID YOU KNOW GUYS I HAVE A CON FES SION THOUGH I GUESS IT COULD BE PRETTY OBVIOUS H H H" eternal = "I LOVE BEARS ! I LOVE BEARS ! MEOW MEOW I MEOW FOR BEARS & & ! YES I MEAN THE ANIMAL !" darkness = "BUT LIKE ALSO GAY PERSON BEAR AA ! I WOULD SIT DOWN AND PLAY A HAND OF BRIDGE WITH" hatchery = "ONE AND TAKE THAT L. DO YOU THINK AUSTIN POWERS WOULD BE A SNOWMELT BEAR OR NAH???" bemoans = " " deaths = "Urgh, er, I don't know what came over me. Sorry about that. I guess, like, maybe I should" since = "apologize to the bear community as well? Just, like, bridge over troubled waters, clean " life = "slate. I might -- I still need to get somewhere. A hatchery I think. Gosh. I keep getting so" was = "distracted, like there's something keeping me away from myseBRRRRPRPRPRPPRAAAA PRESS F TO " it = "TO PAY YOUR RESPOECTS TO MY BRAIN POWERS TROLOL LOL CALL ME OLAF THE WAY I SNOWMELT UP IN THERE" --thats what it feels like. I think. she never did get very far. or very close. --they're basically the same thing. the bridge was too long. and that was too much. --hm. bridge? that almost reminds me of something. or someone. --we evaporated? that doesn't even make any sense like we thought maybe such lonely words could clear the path = putStrLn(the++'\n':words) but the path narrows even though it'll never split and lead us astray towards marshy death = what -- the bridge and the burden we bear on the way to the hatchery -- OOH. WHAT?! -- POWERS MARSHY SNOWMELT WAFFLE MARSHY SNOWMELT POWERS WAFFLE SNOWMELT POWERS MARSHY WAF- --no no nonono no nono no nono no onno on nono noim so close oh please i can't --ok so um there's a bridge and the path narrows while we're still young. bear with me --BEAR WITH ME AUGhagh it keeps happening every single time i just try to remember --that the stupid path doesn't split and the path is marshy because the ground gets marshy --because it can't bear the weight of the stupid bridge or something --and like somewhere there's the --there's the haTCHERY I'M SO CLOSE. --but --i just can't remember the wise Ard and their fortune-telling snowmelt powers is = "Rapids ? Nobody said anything about rapids i don't think. Rapids sound dangerous !" sun = "Heck, i might need a backup clone or something ! Heh, wdym we're not doing sci-fi ?" soft = "Well, here's a better question. Do you wanna have a bad time ? 'Cause if you take" light = "another step forward, well, you're REALLY not going to like what happens next. " bridge = "Her singular, eightfold eye narrows and you almost feel your mind split into two !" cries = "What ? I'm not doing cringe roleplay, you're doing cringe roleplay ! Hmmm, something" pain = "feels MARSHY unusual. Is this BRIDGE real, after all ? guys i want to hug a bear AND" for = "AND SANS UNDER THE BRIck wall. Nobody said anything about HATCHERY the bears THE HATCHERY" my = "IS HERE OHh and austin powers the snowmelt bear can join us too if you dont mind hehe" tragedy forever never to be seen again because without your love we can't remember why we're here =c -- |||||||||| ################## |||||||||| -- ------------- ######### ----------- -- |||||| #### |||||||||||||| #### |||||| -- ------ ^ - ###|||||## -- , -------- -- |||| ## |||||||||||||||||||||| ## |||| -- ---- ||:##||||||||||||||#:|==> ---- -- |||| ## | tHaNkS_t0 OlIvIa | ## |||| -- --- -,:-#||#||||||||||||#--# ------ -- || ## ||||||||||||||||||||||||||| ## || -- -- ##||-==|||||||||#||#==-|## ----- -- || ## ||||||||||||||||| ###### || ## || -- -- ##|||##=||||||||||##|#||||## --- -- || ## ||||||||||||||||| ###### || ## || -- -- ##|#||#::*######||##||#|#|## --- -- || ## | ###### | ## | ###### || ## || -- - #|##|||#***##,,,##**##||#|||||# - -- |||| ## |||||| ###### |||||| ## |||| -- - #||||#|#- :#+#, ,=#||||###### -- || #### ## |||||||||||||| ## #### || -- - #||||#|######,,,####|:#||## ----- -- || ## ###################### ## || -- -- ##|||###-|||***|**+#||||## ----- -- || ## || ## ## ## ## ## || ## || -- --- ##|||#|##*+---+*|||||||## ----- -- |||| #### ############## #### |||| -- --- ##|||||||##:::#||||||||## ----- -- || ########## |||||||||| ########## || -- # ##|||||#############||||||## # -- | ## ############################## ## | -- ###||##||#@@#########@##||##|||### -- #### ## ## || ## || ## ## #### -- #|||||||#@@@######@@@##||||||||# - -- ## || ## ###### ###### ## || ## -- --- ##||#@@##|**#*#|##@@#|||## ---- -- # #### ###### ## ###### #### # -- -- ###||#@@##|##*#*|##@@#|||### --- -- # |||| ## ## |||||| ## ## |||| # -- -- ##|||#@@##|##*#*|###@#||||## --- -- # |||||| ## ## |||||| ## ## |||||| # -- -- ##|||#@#########|###|#||||## --- -- ## || ## | #### || #### | ## || ## -- --- ##||############*####|||## ---- -- | #### ## | ## |||||| ## | ## #### | -- ---- ##|#:#||||||||||#|:#||## ----- -- || ###### | ############## | ###### || -- --- ##|||##|||#####|||##||||## ---- -- |||| #### | ############## | #### |||| -- ---- #### #|||# - #|||# ##### ----- -- || ################################## || -- --------- #|||# - #|||# ----------- -- || ################ ################ || -- --------- #|||# - #|||# ----------- -- |||| ############ || ############ |||| -- --------- #|||# - #|||# ----------- -- | ###### |||| ## || ## ||||| ###### | -- --------- #**## - #**## ----------- -- | ## |||||| #### || #### |||||| ## | -- --------- #|||# - #|||# ----------- -- || ########## ########## || -- main = that was really funny since i am really what looks within darkness (but soft what light within my hatchery cries it is my pain my life my sun) for it s me -- it was always supposed to be me -- ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ -- --_________________________________________________________________________-- --___ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ___________________________________________________-- --___ Dearest Lisabeth, ___________________________________________________-- --_________________________________________________________________________-- --______ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ____________-- --______ Would it mean anything at all to say that I am sorry? ____________-- --_________________________________________________________________________-- --______ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ __-- --______ I am just so terrified of what is to come. It would be so nice __-- --_________________________________________________________________________-- --___ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ____________________-- --___ just to mmet with you one last time. Thank you. ____________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_____________________________________________ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ __________-- --_____________________________________________ Sincerely yours, __________-- --_________________________________________________________________________-- --________________________________________________ ¯¯¯¯¯¯¯¯¯¯¯¯ ___________-- --________________________________________________ Bio Holliday ___________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- --_________________________________________________________________________-- -- ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ -- -- i was the snowmelt all along -- |
1 2 3 | (lambda entry:(lambda sude,nkin:(lambda sex,regex:(lambda ruined,gaydar:(lambda bent:(lambda cc:(lambda hind,fore:nkin("unmatched ']'")if-1 in(hind)else(lambda clitoris:(lambda backroom,orifice,kleene:(lambda V,P,sh:(lambda bra:nkin("unmatched ')'")if-1==bra else(lambda kleened:nkin("nothing to repeat")if-1==kleened else(lambda SeanArcher:nkin("nothing to repeat")if-1 in(SeanArcher)else"expression cannot match anything"if not(SeanArcher)else sorted(SeanArcher[::-1],key=len)[0])([e for(e)in[V(P,V,s)for(s)in orifice(kleened)]if e!=None]))(kleene(bra)))(backroom(sh)))(lambda P,V,lost:(lambda professed:-1 if any(map(lambda E:type(E)==nkin,professed))else(None)if(None)in(professed)else''.join(professed))([P(V,P,e)if list==type(e)else(e)for(e)in lost]),lambda V,P,sh:(lambda bra:nkin("unmatched ')'")if-1==bra else(lambda kleened:nkin("nothing to repeat")if-1==kleened else(lambda CastorTroy:nkin("nothing to repeat")if-1 in(CastorTroy)else(None)if not(CastorTroy)else sorted(CastorTroy[::-1],key=len)[0])([e for(e)in[V(P,V,s)for(s)in orifice(kleened)]if e!=None]))(kleene(bra)))(backroom(sh)),[c for(s,e)in list(clitoris)for(c)in ruined[e+1:s]+[None]][:-1]))(lambda sh:(lambda parent:(lambda penis,heart:-1 if-1 in(penis)else(lambda olus2000, WINS_code_guessing :[c for i,(s,e)in sude(WINS_code_guessing)for(c)in sh[olus2000[i][1]+1:olus2000[i][0]]+[sh[s+1:e]]]+sh[olus2000[-1][1]+1:olus2000[-1][0]])((list(zip(heart+[len(sh)],[-1]+penis))),(zip(heart,penis))))(parent[0],parent[1]))(bent(sh,'(',')')),lambda sh:(lambda organ:[sh[e+1:s]for(s,e)in zip(organ+[len(sh)],[-1]+organ)])(gaydar(sh,1)),lambda sh:(lambda gspot:-1 if-1 in(gspot)else[c for i,c in sude(sh)if not i in gspot and not i+1 in gspot])([-1 if sh[e-1]in[1,7]or not(e)else(e)for(e)in(gaydar(sh,7))])))(zip(fore+[len(ruined)],[-1]+hind)))(cc[0],cc[1]))(bent(ruined,'[',']')))(lambda sh,n,f:(lambda fore,hind:([c for(c)in[(lambda no:-1 if(no<i)else(None)if(no>i)else D)(len([x for(x)in(fore)if x<D])-1)for(i,D)in sude(hind)]if c!=None],[D for(i,D)in sude(fore)if len([x for(x)in(hind)if x<D])==i]))(gaydar(sh,regex([n])[0]),gaydar(sh,regex([f])[0]))))([c for(i,s)in sude([entry[sex[i-1]+2:D]for(i,D)in sude(sex)])for(c)in regex(s)+[entry[sex[i]+1]]][:-1],lambda s,t:[i for(i,c)in sude(s)if c==t]))([i for(i,c)in sude(entry)if c=='\\'and(lambda s:len(s.split([c for(c)in s[::-1].split(s[-1])if c][0][0])[-1])%2)(entry[:i+1])]+[-2],lambda s:[{'(':0,')':5,'[':3,']':2,'|':1,'*':7}.get(c,c)for(c)in s]))(enumerate,SyntaxError))(input()+'69') |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | from turtle import Turtle # We will be using turtle to draw! from turtle import Screen # :D import math import time #import space # delete later (they mustn't learn our secrets) dot_product = lambda v1, v2: sum(map(lambda v1i, v2i: v1i * v2i, v1, v2)) vector_add = lambda v1, v2: list(map(lambda v1i, v2i: v1i + v2i, v1, v2)) magnitude = lambda v: math.sqrt(dot_product(v, v)) # Euclidean norm! direction = lambda v: (lambda r: [vi / r if r else 0 for vi in v]) (magnitude(v)) ## --- Defining useful classes --- ## class Vertex: def __init__(self, loc): # List of numbers self.loc = loc self.dim = len(loc) def copy(self): return Vertex(self.loc) def rotate(self, rotation, center): # Assume rotation is a square matrix targ = len(rotation) truncated = self.dim > targ if truncated: ws = self.loc[:targ] else: ws = self.loc + [0] * (targ - self.dim) if center.dim > targ: wc = center.loc[:targ] else: wc = center.loc + [0] * (targ - center.dim) pulled = vector_add( ws, [-wci for wci in wc] ) rotated = [dot_product(pulled, ro) for ro in rotation] pushed = vector_add(rotated, wc) if truncated: self.loc = pushed + self.loc[targ:] else: self.loc = pushed self.dim = max(self.dim, targ) def translate(self, translation): if self.dim < translation.dim: ws = self.loc + [0] * (translation.dim - self.dim) wt = translation.loc else: ws = self.loc wt = translation.loc + [0] * (self.dim - translation.dim) self.loc = vector_add(ws, wt) def stretch(self, scale, center): # Could be done with a matrix also if self.dim < center.dim: ws = self.loc + [0] * (center.dim - self.dim) wc = center.loc else: ws = self.loc wc = center.loc + [0] * (self.dim - center.dim) radius = vector_add( ws, [-wci for wci in wc] ) self.loc = vector_add( wc, [scale * ri for ri in radius] ) def flatten(self): if self.dim <3 or self.loc[2] == 0: sign = 0 else: sign = -.02 if self.loc[2] < 0 else .02 # Magic number :P # Funny perspective simulation scale = math.exp(sign * math.sqrt(magnitude(self.loc[2:]))) x_funny = sum(p * (-1 if i % 4 < 2 else 1) / math.sqrt(i + 3) for i, p in enumerate(self.loc[3:])) y_funny = sum(p * (-1 if (i + 1) % 4 < 2 else 1) / math.sqrt(i + 3) for i, p in enumerate(self.loc[3:])) #return (self.loc[0], self.loc[1]) # Uncomment this to get isometric stuff! return (scale * (self.loc[0] + x_funny), scale * (self.loc[1] + y_funny)) class Edge: def __init__(self, head, tail): # Two Vertex objects self.head = head self.tail = tail def copy(self): return Edge(self.head.copy(), self.tail.copy()) def rotate(self, rotation, center): self.head.rotate(rotation, center) self.tail.rotate(rotation, center) def translate(self, translation): self.head.translate(translation) self.tail.translate(translation) def stretch(self, scale, center): self.head.stretch(scale, center) self.tail.stretch(scale, center) def flatten(self): return (self.head.flatten(), self.tail.flatten()) class EdgeBunch: def __init__(self, edges, center): # List of Edge objects self.lines = edges self.center = center self.verts = set([]) for l in edges: self.verts.add(l.head) self.verts.add(l.tail) def copy(self): return EdgeBunch([l.copy() for l in self.lines], self.center.copy()) def rotate(self, rotation, center): for line in self.lines: line.rotate(rotation, center) self.center.rotate(rotation, center) def translate(self, translation): for line in self.lines: line.translate(translation) self.center.translate(translation) def stretch(self, scale, center): for line in self.lines: line.stretch(scale, center) self.center.stretch(scale, center) def flatten(self): return (line.flatten() for line in self.lines) # Iterator is easier later! def absorb(self, other): for line in other.lines: self.lines.append(line.copy()) class Programme: def __init__(self, cast, script): self.cast = cast # List of EdgeBunch objects self.script = script # List of tuples def do(self): for who, action, args, reps in self.script: thing = self.cast[who] call = len(args) for i in range(reps): time.sleep(.05) t.clear() if call == 2: eval("thing." + action + "(args[0], args[1])") elif call == 3: eval("thing." + action + "(args[0], args[1], args[2])") else: raise ValueError() # I really can't be bothered draw(t, thing) # see? ## --- Defining useful functions --- ## # These ones are the shape-makers def regular_polygon(sides, radius, center): first = Vertex([0, radius]) first.translate(center) points = [first] angle = 2 * math.pi / sides turn = [[math.cos(angle), -math.sin(angle)], [math.sin(angle), math.cos(angle)]] for i in range(sides - 1): another = points[-1].copy() another.rotate(turn, center) points.append(another) return EdgeBunch([Edge(points[i - 1], points[i]) for i in range(sides)], center.copy()) def new_simplex(radius, center, dim): # May not actually, er, be centered at the center :P if dim == 2: return regular_polygon(3, radius, center.copy()) prev = new_simplex(radius * math.sqrt(1 - (1 / dim)**2), center, dim - 1) depth = [0] * (dim - 1) + [- 1 / dim] prev.translate(Vertex(depth)) addition = Vertex(depth[ :-1 ] + [radius]) lines = [] for line in prev.lines: lines.append(line) for point in prev.verts: lines.append(Edge(addition, point)) return EdgeBunch(lines, center.copy()) def new_cube(radius, center, dim): if dim == 2: return regular_polygon(4, radius, center.copy()) halfside = radius / math.sqrt(dim) #print(radius, halfside) near = new_cube(halfside * math.sqrt(dim - 1), center, dim - 1) far = near.copy() depth = [0] * (dim - 1) near.translate(Vertex(depth + [halfside/2])) # This doesn't make sense far.translate(Vertex(depth + [-halfside])) lines = [] for nline, fline in zip(near.lines, far.lines): lines.append(Edge(nline.tail.copy(), fline.tail.copy())) lines.append(nline.copy()) lines.append(fline.copy()) frame = EdgeBunch(list(set(lines)), center.copy()) return frame def new_orthoplex(radius, center, dim): if dim == 2: return regular_polygon(4, radius, center) base = new_orthoplex(radius, center, dim - 1) above = Vertex([0] * (dim - 1) + [radius]) below = Vertex([0] * (dim - 1) +[-radius]) lines = [] for vert in base.verts: lines.append(Edge(above.copy(), vert.copy())) lines.append(Edge(below.copy(), vert.copy())) pot = EdgeBunch(lines, center.copy()) pot.absorb(base) return pot def tetrahedron(radius, center): return new_simplex(radius, center, 3) def hexahedron(radius, center): return new_cube(radius, center, 3) def octahedron(radius, center): return new_orthoplex(radius, center, 3) def icosahedron(radius, center): phi = (1 + math.sqrt(5)) / 2 pent_rad = math.sqrt((5 + math.sqrt(5)) / 10) * radius top = regular_polygon(5, pent_rad, center) bottom = regular_polygon(5, pent_rad, center) # (; angle = 9 * math.pi / 10 turn = [[math.cos(angle), -math.sin(angle)], [math.sin(angle), math.cos(angle)]] bottom.rotate(turn, center) # ;) top.translate(Vertex([0, 0, radius * math.sqrt(3) / 8])) bottom.translate(Vertex([0, 0, -radius * math.sqrt(3) / 8])) crown = Vertex([0, 0, radius * math.sqrt(phi**2 + 1) / 2]) boots = Vertex([0, 0,-radius * math.sqrt(phi**2 + 1) / 2]) lines = [] for tline, bline in zip(top.lines, bottom.lines): lines.append(tline.copy()) lines.append(bline.copy()) lines.append(Edge(tline.head.copy(), bline.head.copy())) lines.append(Edge(tline.head.copy(), bline.tail.copy())) lines.append(Edge(tline.head.copy(), crown.copy())) lines.append(Edge(bline.tail.copy(), boots.copy())) return EdgeBunch(lines, center.copy()) def dodecahedron(radius, center): # Bleh. pass def pentachoron(radius, center): return new_simplex(radius, center, 4) def octachoron(radius, center): return new_cube(radius, center, 4) def hexadecachoron(radius, center): return new_orthoplex(radius, center, 4) def icositetrachoron(radius, center): pass def dodecacontachoron(radius, center): # Sorry, 120-cell. pass def hexacosichoron(radius, center): pass # These ones are the water closets def draw_line(t, line, color=None): head, tail = line if color: t.pencolor(color) t.pu() t.goto(head[0], head[1]) t.pd() t.goto(tail[0], tail[1]) def draw(t, edgebunch, color=None): for line in edgebunch.flatten(): draw_line(t, line, color) def next_render(x, y): global track_number, programmes track_number = (track_number + 1) % len(programmes) def prev_render(x, y): global track_number, programmes track_number = (track_number - 1) % len(programmes) ## --- Starting the Turtle stuff --- ## s = Screen() H = s.window_height() W = s.window_width() s.setworldcoordinates(- W / 2, - H / 2, W / 2, H / 2) s.delay(0) t = Turtle() t.speed(0) t.ht() s.title("Click to change model! Escape to escape!") s.onkey(s.bye, "Escape") s.onclick(next_render, btn=1) s.onclick(prev_render, btn=2) s.listen() ## --- Everything we will be showcasing! --- ## track_number = 0 programmes = [] origin = Vertex([0, 0]) lpoint = Vertex([-75, 0]) rpoint = Vertex([0, 75]) test_rotat = [ [math.cos(math.pi/58), 0, math.sin(math.pi/58)], [ 0, 1, 0], [-math.sin(math.pi/58), 0, math.cos(math.pi/58)] ] fast_rotat = [ [math.cos(math.pi/18), 0, math.sin(math.pi/18)], [ 0, 1, 0], [-math.sin(math.pi/18), 0, math.cos(math.pi/18)] ] oter_rotat = [ [math.cos(math.pi/48), -math.sin(math.pi/48), 0], [math.sin(math.pi/48), math.cos(math.pi/48), 0], [ 0, 0, 1] ] four_rotat = [ [math.cos(math.pi/58), 0, -math.sin(math.pi/58), 0], [0, math.cos(math.pi/38), 0, -math.sin(math.pi/38)], [math.sin(math.pi/58), 0, math.cos(math.pi/58), 0], [0, math.sin(math.pi/38), 0, math.cos(math.pi/38)], ] square_rotating = Programme([regular_polygon(4, 300, origin)], [(0, 'rotate', [oter_rotat, origin], 1)]) square_3d = Programme([regular_polygon(4, 300, origin)], [(0, 'rotate', [test_rotat, origin], 1)]) funny_square = regular_polygon(4, 150/math.sqrt(2), lpoint) funny_square.rotate([[math.cos(math.pi/8),-math.sin(math.pi/8)],[math.sin(math.pi/8),math.cos(math.pi/8)]], lpoint) funny_rotate = Programme([funny_square], [ (0, 'rotate', [fast_rotat, rpoint], 7), (0, 'rotate', [fast_rotat, lpoint], 7)]) boring_tetra = Programme([new_simplex(200, origin, 3)], [(0, 'rotate', [test_rotat, origin], 1)]) fun_cube = Programme([icosahedron(200, origin)], [(0, 'rotate', [test_rotat, origin], 1)]) actual_cube = Programme([new_cube(200, origin, 3)], [(0, 'rotate', [test_rotat, origin], 1), (0, 'rotate', [oter_rotat, origin], 1)]) roll_d8 = Programme([new_orthoplex(200, origin, 3)], [(0, 'rotate', [test_rotat, origin], 1), (0, 'rotate', [oter_rotat, origin], 1)]) guess_what = Programme([new_cube(200, origin, 4)], [(0, 'rotate', [four_rotat, origin], 1), (0, 'rotate', [oter_rotat, origin], 1)]) i_am_going_insane = Programme([new_simplex(200, origin, 4)], [(0, 'rotate', [four_rotat, origin], 1), (0, 'rotate', [oter_rotat, origin], 1)]) #please_send_help = Programme([new_orthoplex(200, origin, 4)], [(0, 'rotate', [four_rotat, origin], 1), (0, 'rotate', [oter_rotat, origin], 1)]) # Lol this one isn't working nicely programmes = [ square_rotating, square_3d, funny_rotate, boring_tetra, fun_cube, actual_cube, roll_d8, guess_what, i_am_going_insane, #please_send_help, ] while True: programmes[track_number].do() # With some modification, you can easily make your own programmes! # There's room available for shows with multiple actors, if you can get # turtle drawing fast enough :3 |
Hello. I apologize for my lateness. I was watching cinema. Use the function valid (drawng)', where
drawng' refers to an input string.
i hope yall appreciate my code alignment haha, also WOW they hate my smartquotes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | ## Python Version 3.9.7 ## There was no `golfing' tomfoolery involved. ## Forsake your place in clementine heaven. ## For eso-limes guessed a puzzle is solved. def trans (gender): # Self-explanatory. nature = [''] * len (gender [0]) for facet in gender: for f, m in enumerate (facet): nature [f] += m return nature def agree (policy, voters): # Self-explanatory. votes = 0 for voter in voters: votes += policy .count (voter) return votes == len (policy) def fluff (pillow): # Self-explanatory. spine = [len (thread) for thread in pillow] skull = max (spine ) fluffy = [pillow [i] + ' ' * (skull - n) for i, n in enumerate (spine)] return fluffy def crush (): # See docstring for more info. """Makes code more concise. Args: none Returns: None Side-effects: NONE """ return None def heads (bodies, skulls): # Self-explanatory. cleft, wrung = skulls grvyrd = [ ] print = - 1 for crack, femur in enumerate (bodies): if femur == cleft: print = crack if femur == wrung and not print == - 1: grvyrd += [ (print , crack) ] print = - 1 return grvyrd def touch (finger, lovers): # Self-explanatory. tween = lambda adult, child: lambda x: adult < x and x < child veins = {taste [0] for taste in lovers} atrys = {taste [1] for taste in lovers} return ((finger [0] in veins and tween (min (atrys), max (atrys)) (finger [1])) or (finger [1] in atrys and tween (min (veins), max (veins)) (finger [0]))) def spike (drinks, powder, corpus, corpse): # Don't do this. Don't condone this. g,u,r ,d = powder; return [ (i * (1 < e) + [g, r, g, u] [e] [0], i * (e < 2) + [g, r, g, u] [e] [1]) for e, t in enumerate ([corpus [g [0]] [g [1] : u [1]], corpus [r [0]] [r [1] : d [1]], corpse [g [1]] [g [0] : r [0]], corpse [u [1]] [u [0] : d [0]]]) for i, crime in enumerate (t) if crime in drinks [e]] def trace (legacy, estate, future, killer, towers, memory, crunch): # Self-explanatory. bucket = [3, 4, 1, 2] fauna = lambda point, sight: (point [0] + (sight - 2 if sight % 2 else 0), point [1] + (0 if sight % 2 else sight - 3)) keith = future [estate [legacy [0]] [legacy [1]]] (fauna) flora = fauna (legacy, keith) laura = estate [flora [0]] [flora [1]] turns = [] while laura in future: views = future [laura] (bucket [keith - 1]) if (keith - views) % 2: turns .append (flora) try: keith = views flora = fauna (flora, views) laura = estate [flora [0]] [flora [1]] except IndexError: return False if not laura in memory [keith - 1]: return False if laura in killer: break if not laura in killer: return False if sum (crunch (flora, magic)for magic in towers): return (flora,[legacy] + turns + [flora]) else: return False def clean (skirts, stains): # Self-explanatory fresh = skirts for speck , stain in enumerate (stains [: - 1]): scrub = stain xtend = stains [speck + 1] g = xtend [1] - scrub [1] flake = g if g else xtend [0] - scrub [0] flake = flake // abs (flake) while not scrub == xtend: s,b = scrub scent = fresh [s] fresh [s] = scent [: b] + ' ' + scent [b + 1 :] scrub = (s + (0 if g else flake), b + (flake if g else 0)) return fresh def flesh (packet, scream): # Self-explanatory return '' .join (scream [blood] [bones] for blood in range (packet [0] [0] + 1, packet [- 1] [0]) for bones in range (packet [0] [1] + 1, packet [- 1] [1])) def valid (drawng): # Whether or not it is a valid box drawing according to the. the_following_characters = '─│┌┐└┘├┤┬┴' news = print tfciatsan = the_following_characters + ' ' + ''' ''' numb = enumerate if not agree (drawng, tfciatsan): return news ( 'inputs always consist exclusively huh well i guess you"re just a liar huh' ); mack = max bottom_primary = [] shet = set accordion = [] glen = len wardrobes = [] drawing = drawng .split (tfciatsan [- 1]) drawing = fluff (drawing) widesay = trans (drawing) top_candidates = [ ] for treat, candy in numb ( drawing ): for cadaver in heads ( candy , ( '┌' , '┐') ): top_candidates += [ ( (treat, cadaver [0]), (treat, cadaver [1]) ) ] crush ( ) for tap, tip in top_candidates: wall = drawing [mack (tap [0], tip [0])] [tap [1] + 1 : tip [1]] if agree (wall, tfciatsan [: : 9]): bottom_primary .append ((tap, tip)) leftists = [l for l, r in bottom_primary] righties = [l for r, l in bottom_primary] switch_friends = [] for mark, carl in numb (leftists): car, los = carl for benefit in heads (widesay [los], ('┌', '└')): if benefit [0] == car and agree ( widesay [los] [car + 1 : benefit [1]], tfciatsan [1 : : 6 ] ): for bet in heads (widesay [righties [mark] [1]], ('┐', '┘')): berlin = widesay [righties [mark] [1]] if bet == benefit and agree (berlin [car + 1 : bet [1]], tfciatsan [ 1 : : 5]): switch_friends += [ (carl, righties [mark], (bet [1], los), (bet [1], righties [mark] [1])) ]; break break boxes = [swinger for swinger in switch_friends if agree ( drawing [swinger [- 1] [0]] [swinger [0] [1] + 1 : swinger [1] [1]], tfciatsan [: : 8] )] for gawks in boxes: if not agree (flesh (gawks, drawing), ' '): return news ( 'but can"t contain each other (or anything that isn"t empty space)' ); furry = spike # woof woof amirite or am i writ -ing incredible code for box, cube in numb (boxes): for tuft in furry (tfciatsan [9 : 5 : - 1], cube, drawing, widesay ): lock = trace (tuft, drawing, { tfciatsan [0] : lambda x: 6 - x, tfciatsan [1] : lambda x: 4 - x, tfciatsan [2] : lambda x: 7 - x, tfciatsan [3] : lambda x: 5 - x, tfciatsan [4] : lambda x: 5 - x, tfciatsan [5] : lambda x: 3 - x, tfciatsan [6] : lambda x: 4, tfciatsan [7] : lambda x: 2, tfciatsan [8] : lambda x: 3, tfciatsan [9] : lambda x: 1, }, tfciatsan [6 : 10], boxes, [ tfciatsan [1 : 4] + tfciatsan [6 : 9], tfciatsan [: 9 : 2] + tfciatsan [9], tfciatsan [4 : 8] + tfciatsan [1 : : 8], tfciatsan [: : 8] + tfciatsan [3 : 10 : 2], ], touch, ); if not lock: continue if touch (lock [0], cube): return news ( 'the dreaded mushroom' ); accordion .append (lock [ 1 ] ) wardrobes .append ((box, [i for i, b in numb (boxes) if touch (lock [0], b)] [0])) for hug in wardrobes: if 1 < wardrobes .count (hug): return news ( 'the dreaded anvil' ); disgusting = [[crumb [0], crumb [1], crumb [3], crumb [2], crumb [0]] for crumb in boxes] for bug in accordion: if not bug[: : - 1] in disgusting: disgusting += [bug] for __ in disgusting: drawing = clean (drawing, __) return agree (' ' .join (drawing), ' ') # you should be able to tell that im not lyricly, at least |
1 2 3 4 | q = '0' while (q := q + ''.join(["10"[int(c)] for c in q])): input("I'm generating larger Thue-Morse words each time you hit enter... unfortunately, I haven't learned how to output them yet :c Are you sure you want to continue?") |
len(entry(26))
completes in only 7 seconds, which is par for the course. I'm reluctant to go further, seeing as 30 had run out my memory.I was not closely enough to count how long it took, but block 27 contains a total of 233988391 elements.
post a comment