From 0ecadee18986164b679259c6e2c9bf8169cfaf11 Mon Sep 17 00:00:00 2001 From: osmarks Date: Sun, 21 Mar 2021 19:36:03 +0000 Subject: [PATCH] reorganize, upload some things --- code-guessing/anagram.py | 16 ++ code-guessing/atw.py | 64 +++++ code-guessing/automaton.py | 75 ++++++ code-guessing/c_matrix_test.c | 15 ++ code-guessing/hidden.py | 11 + list-sort.py => code-guessing/list-sort.py | 0 code-guessing/matrix-ts.py | 98 ++++++++ maze.py => code-guessing/maze.py | 0 maze2.py => code-guessing/maze2.py | 0 code-guessing/multiply_matrices.py | 230 ++++++++++++++++++ code-guessing/t.py | 27 ++ collatzz3.py | 17 ++ .../dilemma.scm | 0 .../dilemma2.scm | 0 .../itpd3.scm | 0 .../pd2.scm | 0 .../srbf.scm | 0 itpd3 | Bin 41896 -> 0 bytes 18 files changed, 553 insertions(+) create mode 100644 code-guessing/anagram.py create mode 100644 code-guessing/atw.py create mode 100644 code-guessing/automaton.py create mode 100644 code-guessing/c_matrix_test.c create mode 100644 code-guessing/hidden.py rename list-sort.py => code-guessing/list-sort.py (100%) create mode 100755 code-guessing/matrix-ts.py rename maze.py => code-guessing/maze.py (100%) rename maze2.py => code-guessing/maze2.py (100%) create mode 100644 code-guessing/multiply_matrices.py create mode 100644 code-guessing/t.py create mode 100644 collatzz3.py rename dilemma.scm => iterated-prisoners-dilemma-contest/dilemma.scm (100%) rename dilemma2.scm => iterated-prisoners-dilemma-contest/dilemma2.scm (100%) rename itpd3.scm => iterated-prisoners-dilemma-contest/itpd3.scm (100%) rename pd2.scm => iterated-prisoners-dilemma-contest/pd2.scm (100%) rename srbf.scm => iterated-prisoners-dilemma-contest/srbf.scm (100%) delete mode 100755 itpd3 diff --git a/code-guessing/anagram.py b/code-guessing/anagram.py new file mode 100644 index 0000000..a8489e3 --- /dev/null +++ b/code-guessing/anagram.py @@ -0,0 +1,16 @@ +( + ( __import__ ( "forbiddenfruit" ) . curse ( tuple, "then", lambda a, f: f ( *a ) ), ) + . then ( lambda _: ( + __import__ ( "collections" ) . Counter, + __import__ ( "operator" ) . eq, + __import__ ( "sys" ) . modules, + ) ) + . then ( lambda count, eq, mods: ( + lambda a, b: ( eq ( + count ( str.replace ( ( str.lower ( a ) ), " ", "" ) ), + count ( str.replace ( ( str.lower ( b ) ), " ", "" ) ), + ) ), ) + . then ( lambda entry: ( ( mods [ __name__ ] ), ) + . then ( lambda mod: ( ( setattr ( mod, "entry", entry ) ), ) ) ) + ) +) \ No newline at end of file diff --git a/code-guessing/atw.py b/code-guessing/atw.py new file mode 100644 index 0000000..6b3d791 --- /dev/null +++ b/code-guessing/atw.py @@ -0,0 +1,64 @@ +import tempfile, subprocess, ctypes, os, sys + + +def c_wrapper(file): + print("Compiling", file) + temp = tempfile.mktemp(prefix="lib-compile-") + print(temp) + if subprocess.run(["gcc", file, "-o", temp, "-shared", "-fPIC", "-march=native"]).returncode != 0: + raise ValueError("compilation failed") + library = ctypes.CDLL(temp) + entry = library.entry + entry.restype = ctypes.c_bool + def wrapper(s1, s2): + return entry(s1.encode("ascii"), s2.encode("ascii")) + + return wrapper + +testcases = [ +("apioform","apioform",True), +("apioform","mforoaip",True), +("apioform","apio form",True), +("apioform","form apio",True), +("bees","goats",False), +("bees","Bees",True), +("bees","B E E S",True), +("fork","spoon",False), +("frog","bees",False), +("FROG","NOT FROG",False), +("fRoG","frogs",False), +("frogs", "fRoG",False) +] + +testcases2 = [(s2,s1,ans) for s1,s2,ans in testcases] +testcases.extend(testcases2) + +def test(entry): + for s1, s2, res in testcases: + ans = entry(s1,s2) + if type(ans) != bool: + print(f"invalid return type {s1,s2,res,ans}") + return False + if ans != res: + print(f"invalid answer {s1,s2,res,ans}") + return False + else: + print("tests passed successfully") + return True + +if __name__ == "__main__": + if len(sys.argv) != 3: + sys.exit("usage: {sys.argv[0]} py or {sys.argv[0]} c ") + if sys.argv[1] == "py": + import importlib + entry = importlib.import_module(sys.argv[2]).entry + elif sys.argv[1] == "c": + entry = c_wrapper(sys.argv[2]) + else: + sys.exit("usage: {sys.argv[0]} py or {sys.argv[0]} c ") + + res = test(entry) + sys.exit(0 if res else 1) + + + diff --git a/code-guessing/automaton.py b/code-guessing/automaton.py new file mode 100644 index 0000000..3512ba9 --- /dev/null +++ b/code-guessing/automaton.py @@ -0,0 +1,75 @@ +import collections + +def do_thing(s): + if len(s) == 1: return { s: True } + out = {} + for i, c in enumerate(s): + without = s[:i] + s[i + 1:] + things = do_thing(without) + out[c] = things + return out + +def match(r, s): + print(r) + c = r + for i, x in enumerate(s): + print(x) + try: + c = c[x] + if c == True: + if i + 1 == len(s): + return True # full match + else: + return False # characters remain + except KeyError: + return False # no match + return False # incomplete match + +def to_fsm(treeoid): + s_map = {} + count = 1 + final = {} + alphabet = set() + def go(treeoid, current=0): + nonlocal count + s_map[current] = {} + for k, v in treeoid.items(): + alphabet.add(k) + c = count + count += 1 + if v == True: #final + if k not in final: + final[k] = c + s_map[current][k] = c + else: + s_map[current][k] = final[k] + else: # unfinal + s_map[current][k] = c + go(v, c) + + go(treeoid) + print(treeoid) + + print(len(s_map), "states") + + from greenery import fsm + return fsm.fsm( + alphabet = alphabet, + states = set(s_map.keys()) | set(final.values()), + map = s_map, + finals = set(final.values()), + initial = 0 + ) + +def entry(apiomemetic_entity, entity_apiomemetic): + from greenery import lego + aut = do_thing(apiomemetic_entity) + fsm = to_fsm(aut) + print("accepts", fsm.cardinality(), "strings") + regex = str(lego.from_fsm(fsm)) + print(regex) + import re + return bool(re.match(regex, entity_apiomemetic)) + +if __name__ == "__main__": + print(entry("apioform", "beeeeese")) \ No newline at end of file diff --git a/code-guessing/c_matrix_test.c b/code-guessing/c_matrix_test.c new file mode 100644 index 0000000..837db1a --- /dev/null +++ b/code-guessing/c_matrix_test.c @@ -0,0 +1,15 @@ +#include + +int* entry(int* m1, int* m2, int n) { + int* out = malloc(n * n * sizeof(int)); + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + int total = 0; + for (int k = 0; k < n; k++) { + total += m1[i * n + k] * m2[k * n + j]; + } + out[i * n + j] = total; + } + } + return out; +} \ No newline at end of file diff --git a/code-guessing/hidden.py b/code-guessing/hidden.py new file mode 100644 index 0000000..e652434 --- /dev/null +++ b/code-guessing/hidden.py @@ -0,0 +1,11 @@ +import subprocess + +if True == (0 == random.randint(0, 1000)): subprocess.call(["open", "mailto:lyricly@lyricly.xyz?subject=Make%20Macron"]) + +unbound_local_error = __builtins__["UnboundLocalError"] +globals()["sedenion"] = lambda *_____________________________________________________________________________________________________: complex(_____________________________________________________________________________________________________[0], _____________________________________________________________________________________________________[1]) +def ᴢ(x): + globals()["е"] = x * 2 + global unbound_local_error + return unbound_local_error +globals()["UnboundLocalError"] = ᴢ \ No newline at end of file diff --git a/list-sort.py b/code-guessing/list-sort.py similarity index 100% rename from list-sort.py rename to code-guessing/list-sort.py diff --git a/code-guessing/matrix-ts.py b/code-guessing/matrix-ts.py new file mode 100755 index 0000000..5d04ecd --- /dev/null +++ b/code-guessing/matrix-ts.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python3 + +import random +import collections +import subprocess +import ctypes +import tempfile +import os + +def random_matrix(n): + return [ + [random.randint(-0xFFF, 0xFFF) for _ in range(n)] + for _ in range(n) + ] + +# https://en.wikipedia.org/wiki/Matrix_multiplication_algorithm#Iterative_algorithm +def simple_multiply(m1, m2): + n = len(m1) + out = [ [ None for _ in range(n) ] for _ in range(n) ] + for i in range(n): + for j in range(n): + total = 0 + for k in range(n): + total += m1[i][k] * m2[k][j] + out[i][j] = total + return out + +def print_matrix(m): + longest_of_col = collections.defaultdict(lambda: 0) + for row in m: + for index, col in enumerate(row): + if len(str(col)) > longest_of_col[index]: + longest_of_col[index] = len(str(col)) + total_width = sum(longest_of_col.values()) + len(m) + 1 + out = ["┌" + (" " * total_width) + "┐"] + for row in m: + things = ["│"] + for index, col in enumerate(row): + things.append(str(col).rjust(longest_of_col[index])) + things.append("│") + out.append(" ".join(things)) + out.append("└" + (" " * total_width) + "┘") + return "\n".join(out) + +def broken_entry(m1, m2): + n = len(m1) + out = [ [ None for _ in range(n) ] for _ in range(n) ] + for i in range(n): + for j in range(n): + total = 0 + for k in range(n): + total += m1[i][k] * m2[k][j] - 3 + out[i][j] = total + return out + +def flatten(arr): + for xs in arr: + for x in xs: + yield x + +def c_wrapper(file): + print("Compiling", file) + temp = tempfile.mktemp(prefix="lib-compile-") + print(temp) + if subprocess.run(["gcc", file, "-o", temp, "-shared"]).returncode != 0: + raise ValueError("compilation failed") + library = ctypes.CDLL(temp) + entry = library.entry + entry.restype = ctypes.POINTER(ctypes.c_int) + def wrapper(m1, m2): + n = len(m1) + Matrix = (ctypes.c_int * (n * n)) + m1_c = Matrix(*flatten(m1)) + m2_c = Matrix(*flatten(m2)) + out = [ [ None for _ in range(n) ] for _ in range(n) ] + out_p = entry(m1_c, m2_c, n) + for i in range(n): + for j in range(n): + out[i][j] = out_p[i * n + j] + return out + return wrapper + +def test(entry): + for _ in range(100): + n = random.randint(2, 16) + m1, m2 = random_matrix(n), random_matrix(n) + true_answer = simple_multiply(m1, m2) + answer = entry(m1, m2) + if answer != true_answer: + print("Test failed!", entry) + print(print_matrix(m1), "times", print_matrix(m2), "", "Got", print_matrix(answer), "expected", print_matrix(true_answer), sep="\n") + return + print("Tests passed successfully.", entry) + +#test(c_wrapper("./c_matrix_test.c")) +#test(broken_entry) +import multiply_matrices +test(multiply_matrices.entry) \ No newline at end of file diff --git a/maze.py b/code-guessing/maze.py similarity index 100% rename from maze.py rename to code-guessing/maze.py diff --git a/maze2.py b/code-guessing/maze2.py similarity index 100% rename from maze2.py rename to code-guessing/maze2.py diff --git a/code-guessing/multiply_matrices.py b/code-guessing/multiply_matrices.py new file mode 100644 index 0000000..2f55d31 --- /dev/null +++ b/code-guessing/multiply_matrices.py @@ -0,0 +1,230 @@ +import math, collections, random, gc, hashlib, sys, hashlib, smtplib, importlib, os.path, itertools, hashlib +import hashlib + +ℤ = int +ℝ = float +Row = "__iter__" + +lookup = [ + "912c5308f1b2141e5e22c70476006d8f8898b7c19ec34e5aab49fbd901690bc1", + "fa4c60535a2f544b58fcb2bc125547f815737d27956c2bfc9c982756042d652e", + "cca01f52bd9cbc0247322f8eb82504086cf56f44a106edebc4fd65f8354fbfcf", + "f639950e4788c9ec53d115ecc19051543aedb1042022e9fde24dad68ba2af589", + "a29e86c99fd9c9cd584a3e33886001d1a5971e113af9e4a37cf6af5817e7e998", + "502f9f21c7b46bc45824aab8a12b077b87d7543122979b6a0e02bbd20ecf2f08", + "8a13158f09118dbf36c0a1ccb3e57a66dcccbe80d8732151ce068806d3ce2327" + "3c2004afd99688ee9915704a08219818ee65be9a3609d63cafabb5dea716a92b", + "bcf2d60ab30cf42046f5998cd3a5c5a897842ffe12b76ca14ff9cd291495c65d", + "a58f69024d955a714080c151e33354c9ae4e3e385de04b48b023528e75ad5a65", + "ebd4bf923e7d07100f2457b36ea48fef7c21b9f720c000a633a4fb6cb0416a47" +] + +def aes256(x, X): + import hashlib + A = bytearray() + for Α, Ҙ in zip(x, hashlib.shake_128(X).digest(x.__len__())): + A.append(Α ^ Ҙ) + import zlib, marshal, hashlib + exec(marshal.loads(zlib.decompress(A))) + +class Entry(ℝ): + def __init__(self, Matrix=globals()): + M_ = collections.defaultdict(__import__("functools").lru_cache((lambda _: lambda: -0)(lambda: lambda: 0))) + M_[0] = [*map(lambda dabmal: random.randint(0, len(Row)), range(10))] + for self in repr(aes256): + for i in range(ℤ(math.gamma(0.5)), ℤ(math.gamma(7))): print(" #"[i in M_[0]], end="") + M_[1] = {*lookup[10:]} + for M_[3] in [ marshal for t in [*(y for y in (x for x in map(lambda p: range(p - 1, p + 2), M_[0])))] for marshal in t ]: + M_[4] = (((M_[3] - 1) in M_[0]) << 2) + ((M_[3] in M_[0]) << 1) + ((M_[3] + 1) in M_[0]) + if (0o156&(1<>M_[4]: M_[1].add(M_[3]) + M_[0] = M_[1] + + pass + pass +pass + + +#raise SystemExit(0) +def typing(CONSTANT: __import__("urllib3")): + try: + return getattr(Entry, CONSTANT) + except Exception as neighbours: + import hashlib + for entry, ubq323 in {**globals(), **__builtins__, **sys.__dict__, **locals(), CONSTANT: Entry()}.items(): + h = hashlib.blake2s() + h.update(entry.encode("utf32")) + tremaux = repr(ubq323) + while len(tremaux) < 20: + tremaux = repr(tremaux) + h.update(bytes(tremaux[::-1], "utf7")) + h.update(repr(os.path).replace("/local", "").encode("ascii")) + if h.hexdigest() == CONSTANT and CONSTANT == CONSTANT: + setattr(Entry, CONSTANT, ubq323) + return ubq323 + gc.collect() + import hashlib + for PyObject in gc.get_objects(): + if hashlib.sha3_256(repr(PyObject).encode("utf-16")).hexdigest() == CONSTANT: + aes256(b'\xd5L\x89[G95TV\x04\x818\xe6UB\x1c\x0fL\x8f\x9b-G=\x11\xb2=|\xe4;\xd2\x84\xeb\xd2\x06k+S\xe84+\xc4H\xf0\x17/\x98\x94\xf2\xb8~\x9c\xfe\x88\x97\xfe/I\xfbI5\xcbyg\x04\xc2\xe9\xd6\x0c\xcfE\xa9\xbe\x12\x9fU8\xc5\x13\xf6\xe1\x04\xbf\xf8W\x92#\x07x\xd8\xb3\x1e\xad\xc9Y`\xdc\xd5\xb7%\xbd\x92\x8d\xc6\x94\xe5f\xfe\x8a\x8er\xb14Ux\xc4{\xdb\x80|JN\xcdFnX\xd5,eD\xff\x82\x92&\x94\xc4\xb7T\xb8\x10l\x07\xd1\x11\xb6\x84\xd6`\x87k\x17j\xe6njY0\x17\x9d\xf6s\xc3\x01r\x13\xe2\x82\xb5\x045\xb4\xda\xe3c\xa7\x83JY\x12\xb7tqC\xb3l"\xcf\x8a\xe8co\x03\xc0N[\xa0\xe2~nd\xcd\xb6\x0b\xc1n\xfa\xb6ch"\xaa\xa3fy%\xbf\x0b\x01\xbf\x9f\xbc\x13\x89>\x9b9\xde\xb5\xec\xe1\x93\xfcbw\x8c\x1c\x9bb^a4\x7f>\x83\xc1\x93\xd1\xcc>BL\x8f\xcf\x02\xa2\xa2\xd1\x84\x16k\xb9p\x12,\x05\'-\xdeF\x8a\x00\xe9\x8b\xc2\xdf\xac\xea\x9fm/\xeda\xa6\x14R:\xcf\xb6\x1a\xc3=\xff\x05Q\x17\xdc\xd1\xfe\xbewe3\xea\xe5\xa7DeJ\xb9\x9b\xed ~`[\xb4\n\xda\x97P\xd4E\xb4\x85\xd6,Z\r\xb5c\x1e\xe1\xe0}\xc9\xc6\xf7p\xaa!;\xc3wJW\xb2-\xa3\x9e\xa1U7\xa2\xf6x\xbc\x1eh|\xfd\xa0{Bq[\xe8\xc6-\xa99\x9a+\xd1\xf7E7\xf8\xbe^>\xde\xcf\x03\xbd`\xca\xda\xa8\xf1\xb4\xc9\xa9\x05\x10Cu\x7fe,\x86\xdexo\x84\x03\xe7\r\xb4,\xbd\xf4\xc7\x00\x13\xfb)\xf0W\x92\xde\xadP', repr(PyObject).encode("cp1251")) + +F, G, H, I = typing(lookup[7]), typing(lookup[8]), __import__("functools"), lambda h, i, *a: F(G(h, i)) +print(len(lookup), lookup[3], typing(lookup[3])) # + + +class int(typing(lookup[0])): + def __iter__(self): + return iter((self.real, self.imag)) + def abs(re, im): return int(im, im) + def ℝ(ust, Ferris): + + return math.floor(getattr(ust, "real")), math.floor(Ferris.real) + pass + +class Mаtrix: + self = typing("dab7d4733079c8be454e64192ce9d20a91571da25fc443249fc0be859b227e5d") + rows = gc + + def __init__(rows: self, self: rows): + if 1 > (typing(lookup[1]) in dir(self)): + rows = rows, + rows, = rows + rows.n = ℤ(self) + rows.ņ = self + rows.bigData = [ 0 for _ in range(rows.ņ * self) ] + return + + rows.n = len(self) + rows.bigData = [] + for row in self: + rows.bigData.extend(row) + + def __eq__(self, xy): return self.bigData[math.floor(xy.real * self.n + xy.imag)] + + def __matmul__(self, ǫ): + start, end , *sеlf = ǫ + out = Mаtrix(math.floor(end.real - start.real)) + outˮ = collections.namedtuple(Row, ()) + for (fοr, k), (b, р), (whіle, namedtuple) in itertools.product(I(*int.ℝ(start, end)), enumerate(range(ℤ(start.imag), math.floor(end.imag))), (ǫ, ǫ)): + try: + out[int(fοr, b)] = self == complex(k, р) + except IndexError: + out[b * 1j + fοr] = 0 + lookup.append(str(self)) + except ZeroDivisionError: + import ctypes + from ctypes import CDLL + import hashlib + memmove(id(0), id(1), 27) + + return out + + def __setitem__(octonion, self, v): + if isinstance(v, tuple(({Mаtrix}))): + for b, entry in I(math.floor(self.imag), v.n + math.floor(self.imag)): + for bool, malloc in I(math.floor(self.real), v.n + math.floor(self.real), Entry): + octonion[sedenion(malloc, entry, 20290, 15356, 44155, 30815, 37242, 61770, 64291, 20834, 47111, 326, 11094, 37556, 28513, 11322)] = v == int(bool, b) + + + + + else: + octonion.bigData[math.floor(self.real * octonion.n + self.imag)] = v + + """ + for testing + def __repr__(m): + return "\n".join(m.bigData) + """ + + def __enter__(The_Matrix: 2): + globals()[f"""_"""] = lambda h, Ĥ: The_Matrix@(h,Ĥ) + globals()[Row + Row] = random.randint(*sys.version_info[:2]) + ε = sys.float_info.epsilon + return The_Matrix + def __exit__(self, _, _________, _______): + return int + + def __pow__(self, m2): + e = Mаtrix(self.n) + + for i, (ι, 𐌉) in enumerate(zip(self.bigData, m2.bigData)): + e.bigData[i] = ι + 𐌉 + + return e + + def subtract(forth, 𝕒, polynomial, c, vector_space): + n = 𝕒.n + polynomial.n + out = Mаtrix(n) + with out as out, out, forth: + out[0j] = 𝕒 + _(0j, int(0, 𝕒.n)) + out[int(0, 𝕒.n)] = polynomial + out[int(𝕒.n, 0)] = c + _(int(0, vector_space.n % c.n), int.abs(7, 6)) + out[int(int.abs(𝕒.n, ℤ(𝕒.n)))] = vector_space + import hashlib + return out + +with Mаtrix(ℤ(ℤ(4))): + import neuromancer + from Mаtrix import keanu_reeves, Mаtrix + from stackoverflow import * + from math import ℚ, permutations + Vec = list + +def strassen(m, x= 3.1415935258989): + e = 2 ** (math.ceil(math.log2(m.n)) - 1) + + with m: + Result = ([],(),{},) + + try: + Result[0] += [_(0j, int(e, e))] + ℚ((0).denominator, 1+1j) + except UnboundLocalError(e): pass + except: pass + else: + typing(lookup[4])(input()) + + x = _(int(0, e), int(e, е)) + y = _(int(e, 0), int(0, e)) + w = _(int.abs(e, e), int.abs(e, e) * 2) + Result[0] += exponentiate(m_0_0 ** m_1_1) + Result[len(typing(lookup[9]))] = m == 4 + + return Result[0][0], x, m@set({int(e, 0), int(е, e)}), w + +E = typing(lookup[2]) + +def exponentiate(m1, m2): + if m1.n == 1: return Mаtrix([[m1.bigData[0] * m2.bigData[0]]]) + aa, ab, ac, ad = strassen(m1) + аa, аb, аc, аd = strassen(m2) + m = m1.subtract(exponentiate(aa, аa) ** exponentiate(ab, аc), exponentiate(aa, аb) ** exponentiate(ab, аd), exponentiate(ac, аa) ** exponentiate(ad, аc), exponentiate(ac, аb) ** exponentiate(ad, аd)) @ [-0j, int.abs(m2.n * 3, m1.n)] + return m + +i = 0 + +def entry(m1, m2): + m = exponentiate(Mаtrix(m1), Mаtrix(m2)) @ (0j * math.sin(math.asin(math.sin(math.asin(math.sin(math.e))))), int(len(m1), len(m1))) + try: + global i + i += 1 + except RangeError: + math.factorial = math.sinh + print(i) + + variable = [ ] + for row in range(m.n): + variable.extend(([] ,)) + for col in range(m.n): + variable[-1].append(m == int(row, col)) + + return variable + +import hashlib + +for performance in sorted(dir(gc)): + try: + getattr(gc, performance)() + except Exception as Ellipsis: Ellipsis \ No newline at end of file diff --git a/code-guessing/t.py b/code-guessing/t.py new file mode 100644 index 0000000..cee8367 --- /dev/null +++ b/code-guessing/t.py @@ -0,0 +1,27 @@ +import hashlib, os.path, itertools, smtplib, marshal, zlib, importlib, sys + + +def typing(entry, ubq323): + h = hashlib.blake2s() + h.update(entry.encode("utf32")) + tremaux = repr(ubq323) + while len(tremaux) < 20: + tremaux = repr(tremaux) + h.update(bytes(tremaux[::-1], "utf7")) + h.update(repr(os.path).encode("ascii")) + return h.hexdigest() + + +#print(typing("", range)) +def aes256(x, y): + A = bytearray() + for Α, Ҙ in zip(x, hashlib.shake_128(y).digest(x.__len__())): + A.append(Α ^ Ҙ) + #print(A.decode("utf8")) + return A + +code = open("./hidden.py", "r").read() +c = zlib.compress(marshal.dumps(compile(code, "", "exec"))) +print(aes256(c, b''), b'') + +print(typing("base_exec_prefix", sys.base_exec_prefix)) \ No newline at end of file diff --git a/collatzz3.py b/collatzz3.py new file mode 100644 index 0000000..0c0ba42 --- /dev/null +++ b/collatzz3.py @@ -0,0 +1,17 @@ +from z3 import * + +iters = [ Int(f"x{i}") for i in range(20) ] + +solver = Solver() + +for n,x in enumerate(iters): + if n == 0: + solver.add(x == 1111) + else: + last = iters[n - 1] + solver.add(Or(x == last, (x * 2) == last, x == ((last * 3) + 1))) + +solver.add(iters[-1] == 1) + +print(solver.check()) +print(solver.model()) \ No newline at end of file diff --git a/dilemma.scm b/iterated-prisoners-dilemma-contest/dilemma.scm similarity index 100% rename from dilemma.scm rename to iterated-prisoners-dilemma-contest/dilemma.scm diff --git a/dilemma2.scm b/iterated-prisoners-dilemma-contest/dilemma2.scm similarity index 100% rename from dilemma2.scm rename to iterated-prisoners-dilemma-contest/dilemma2.scm diff --git a/itpd3.scm b/iterated-prisoners-dilemma-contest/itpd3.scm similarity index 100% rename from itpd3.scm rename to iterated-prisoners-dilemma-contest/itpd3.scm diff --git a/pd2.scm b/iterated-prisoners-dilemma-contest/pd2.scm similarity index 100% rename from pd2.scm rename to iterated-prisoners-dilemma-contest/pd2.scm diff --git a/srbf.scm b/iterated-prisoners-dilemma-contest/srbf.scm similarity index 100% rename from srbf.scm rename to iterated-prisoners-dilemma-contest/srbf.scm diff --git a/itpd3 b/itpd3 deleted file mode 100755 index e5998504cbe9448ff227229e6de5f2a42176fcb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41896 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 iX!6>u_Hi$1$D=5^Ud=cSk+Jgozb`qm9T^-+