title: Will it halt? (Cops)

text:
# Question
Title: Will it halt? (Cops)
*This is the cops' thread. The robbers' thread is here.*

Your challenge is to make a program that runs forever without halting1, unless it gets a particular input or inputs2. If it receives that input, it must terminate in a finite amount of time3. This is , so the shortest answer that has not been cracked by a robber within one week of posting wins. After the week has passed, please mark your answer as safe and show the halting input (in a `> ! spoiler quote`). If a robber cracks your submission, please mark it as cracked and show the halting input (in a `> ! spoiler quote`).

Submissions are preferred be runnable & crackable on TIO. Submissions not runnable or crackable on TIO are allowed, but please include instructions to download / run them.

Please make your input deterministic, and uniform across all runs. See this meta post for details.

**Please, don't "implement RSA" or anything mean to the robbers. Use obscure languages and features, not boring encryption and hashing. I can't enforce this with rules, but you can expect torrential downvotes if all you do is `sha(input) === "abcd1234"`.**

---

1Assuming that the computer doesn't get shut down, break, get engulfed by the sun, overheat in the universe's heat death, or hit the TIO timeout of 60s.

2The program must halt on **at least** one input. As long as it loops forever on one input and halts on another, it works.

3This must be \< 60 seconds, so that the code can be tested on TIO.

---

# Looking for uncracked submissions?

```
fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
```

```
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>
```

# Answer
> 57 votes
# Malbolge, 128 bytes, cracked by KBRON111

```
(=&r:#o=~l4jz7g5vttbrpp^nllZjhhVfddRb`O;:('JYX#VV~jS{Ql>jMKK9IGcFaD_X]\[ZYXWVsN6L4J\[kYEhVBeScba%_M]]~IYG3Eyx5432+rpp-n+l)j'h%B0

```

Have fun!

(Yes, I learned Malbolge just for this. Yes, it took an absurdly long time to finally get working. And yes, it was totally worth it.)

Wrapped, so you can see it in its full, er, "glory":

```
(=&r:#o=~l4jz7g5vttbrpp^nllZjhhV
fddRb`O;:('JYX#VV~jS{Ql>jMKK9IGc
FaD_X]\[ZYXWVsN6L4J\[kYEhVBeScba
%_M]]~IYG3Eyx5432+rpp-n+l)j'h%B0

```

I used this interpreter to test it; I'm not sure if it matters, but I figured I'd specify just in case.

# Answer
> 24 votes
# JavaScript (ES6), 17 bytes, Cracked

```
x=>{for(;x==x;);}

```

On TIO, since I dunno how to do Node.js readline on TIO, just stick the input in the function call. This is obvious to anyone who knows it, and not to anyone who doesn't.

Try it online!

Answer:

> The answer is `NaN`, since in JavaScript, `NaN != NaN`.

# Answer
> 16 votes
# JS (ES6), 67 bytes (Cracked)

```
(x,y)=>{while(x!==y||Object.is(x, y)||!isFinite(x)||!isFinite(y));}

```

I *think* i didn't mess up, it might have an easy solution that I didn't see.

I appreciate any feedback, this is one of my first posts

> `(+0, -0)` Yep, js has a negative 0

# Answer
> 12 votes
# Python 3.4, (40 bytes) Cracked

```
def f(x):
  while(x==x or not x==x):pass

```

# Answer
> 10 votes
# Javascript (NOT node.js)

```
x=>{while(x+"h");}

```

The desired submission doesn't use throw.

Hint for desired crack:

> The desired submission doesn't overwrite `.toString()`, or use `Set()` either.

Desired crack:

> `Object.create(null)`

# Answer
> 9 votes
# C (gcc), 75 bytes Cracked

```
#include<stdio.h>
int main(){char c[9];while(1){scanf("%8s",c);printf(c);}}

```

Try it online!

I've never posted in a cops-n-robbers before. Hopefully this isn't *too* obvious.

Solution:

> An input of "%s" makes this segfault. There are several other ones that can be used; all of them are `printf` specifiers like "%n"
> This is the classic `printf` vulnerability. Simply put, the format string comes straight from user input, so any `printf` specifiers get passed through, unsafely.

# Answer
> 8 votes
# JavaScript (in Browser), 79 bytes Cracked

```
x=>{try{for(;x||x!=null||x!=void 0||x===null||x===void 0;);}catch(e){for(;;);}}

```

You should run it in a recent browser (like latest Firefox ESR, latest Firefox, latest Chromium). Running on old browsers (like Netscape 2, IE 4) do not count.

Note: Halted by browser due to time out do not count a halt here.

Always be careful not crash your browser when testing this codes, and happy robbing ^\_^

> document.all

# Answer
> 7 votes
# PHP (cracked by Vicente Gallur Valero), 65 bytes

```
<?php
parse_str($argv[1],$_);
while(!$_['(-0_0)> deal with it']);

```

Try it online!

Harder than it may look. Edited to be possible on TIO, at the cost of a bunch of bytes. Takes input via `$argv[1]`.

# Answer
> 6 votes
# Husk, 5 bytes Cracked

```
↑ε∞←ø

```

Try it online!

A bit of explanation, since this language is still pretty new:

`←ø` gets the first element of an empty list: this returns a value which can assume any type, be it a concrete type or a function, which will then be applied to the input.  creates an infinite list composed by copies of the previous result (which in most cases will mean a list of infinite zeroes). `↑ε` takes elements from this list as long as they are "small" i.e. their absolute value is ≤1; on an infinite list of zeroes this will never stop.

# Answer
> 6 votes
# Bash 4.2, 14 bytes (cracked)

Let's try this again.

```
let ${1,,}
yes

```

This doesn't work on TIO, which uses Bash 4.3. Input is via command-line arguments.

On Linux and with gcc installed, Bash 4.2.53 can be downloaded and built as follows.

```
curl -sSL https://ftp.gnu.org/gnu/bash/bash-4.2.53.tar.gz | tar xz
cd bash-4.2.53
./configure
make -j

```

# Answer
> 5 votes
# Braingolf, 4 bytes (Cracked)

```
[1+]

```

Try it online!

Suuuper easy, but ~~let's see how long it takes~~

Answer:

> `-1`, or any number less than `0`.

# Answer
> 5 votes
# Ruby, 31 bytes (cracked by Eric Duminil)

```
0until(3.send(gets)==5rescue p)

```

Try it online!

Note that this needs to be run in an environment where there's no trailing newline in the result of `gets`, or else it's impossible to make it halt (I think) since anything ending in a newline will error and hit the rescue.

# Answer
> 5 votes
# Bash, 25 bytes (Cracked)

```
export "$1"=help
/bin/yes

```

Inspired by Dennis'. Try it online.

# Answer
> 4 votes
# Retina, 78 bytes (Cracked) (Cracked with Intended Solution)

```
^
1
+`^1(1+)
$1¶$&
s`(?<=^|¶)(1+)(?=¶)(?!.*¶\1+$)

¶(?!1+$)

^(1+)¶\1$

+`1
11

```

Was pretty fun to write, hope it's fun to crack

Try it online!

Cracked with an unintended solution and the intended solution within a minute of each other. One posted first, one commented first.

Intended solution:

> 11111 or the unary representation of n-1 where n is any perfect number

# Answer
> 4 votes
# Node.js, 23 bytes (Cracked)

```
var crackme =
i=>{while({[i]:NaN}){}}

```

*Grant Davis* solution

> `{__proto__:null}`

My solution

> `{"toString":process.exit}`

# Answer
> 4 votes
# Bash 4.2, 10 bytes (Cracked)

```
let $1
yes

```

This doesn't work on TIO, which uses Bash 4.3. Input is via command-line arguments.

On Linux and with gcc installed, Bash 4.2.53 can be downloaded and built as follows.

```
curl -sSL https://ftp.gnu.org/gnu/bash/bash-4.2.53.tar.gz | tar xz
cd bash-4.2.53
./configure
make -j

```

# Answer
> 4 votes
# Java 8, 99 bytes, Cracked

```
s->{try{Integer i=Integer.parseInt(s),c=i+32767;i+=32767;for(;i!=c;);}catch(Throwable t){for(;;);}}

```

This is a lambda of the type `Consumer<String>`.

Ungolfed:

```
s -> {
    try {
        Integer i = Integer.parseInt(s), c = i + Short.MAX_VALUE;
        i += Short.MAX_VALUE;
        while (i != c) ;
    } catch (Throwable t) {
        while (true) ;
    }
}

```

Try it online! (note that the test program will crash on empty input, but the lambda itself would not!) (also, use 'arguments' not 'input' on TIO, as the test program uses arguments, not STDIN)

Intended Answer:

> -32767; This works because Java keeps has two integer types, `int` and `Integer`. `Integer` is an object that wraps `int`. Also, Java keeps an cache of `Integer`s that box `-127` through `127`. The `!=` operator checks for identity, so through some un-boxing and auto-boxing any number `x` where `x + 32767` is in `[-127, 127]` will end up being the same `Integer` object from the cache, and thus `i != c` will be false.

# Answer
> 4 votes
# C, 140 bytes (Cracked)

```
n,i;f(){float x,y,z;for(scanf("%d %d",&n,&z,x=y=0);~((int)x-(int)(1/sqrt(y*2)));x*=(1.5-y*x*x))y=(x=z)/2,i=n-((*(int*)&x)/2),x=*(float*)&i;}

```

Hopefully there aren't too many not-even-close-to-the-intended-inputs that make it halt, but let's see.

Try it online!

# Answer
> 3 votes
## Java: 1760 (Cracked)

I feel it's too mean to golf this one, so I just obfuscated the variable names, and made it 'messy'. As a matter of fact it's so mean, that I'm going to post hints over time, just so I may see it cracked.

Hint 1: this has theoretically infinite valid inputs, but there is one that is the most 'Correct'

```

public class Main {

	public static void main(String[] a) {
		try {
			while (a.length < 2) {
				int i = 0;
			}
			boolean invalid = 1 < 0;
			char l = '_';
			char h = '-';
			char[] DATATWO = a[0].toCharArray();
			char[] DATATOW = a[1].toCharArray();
			int length = DATATOW.length;
			if (DATATWO.length != length) {
				invalid = 1 > 0;
			}
			int transmissionStartIndex = 0;
			for (int i = 0; i < length; i++) {
				if (DATATWO[i] == l && DATATOW[i] == l) {
					transmissionStartIndex = i;
					break;
				}
			}
			int DATAONE = 0, reg = 0;
			boolean read = 1 < 0, full = 0 < 1;
			int bytes_read = 0;
			for (int i = transmissionStartIndex; i < length; i++) {
				if (DATATOW[i] == l && DATATOW[i + 1] == h) {
					bytes_read++;

					if (bytes_read == 8) {
						read = DATATWO[i] == h;
					} else if (bytes_read == 9) {
						invalid = (DATATWO[i] == h || invalid);
						System.out.println(invalid);
					} else if (bytes_read == 18) {
						System.out.println(invalid);
						invalid = (DATATWO[i] == h || invalid);
						if (invalid) {
							System.out.println("i36 " + DATATWO[i] + " " + h);
						}
						full = 1 > 0;
					} else if (bytes_read < 8) {
						DATAONE += (DATATWO[i] == h ? 1 : 0) << (7 - bytes_read);
					} else if (bytes_read < 18) {
						reg += (DATATWO[i] == h ? 1 : 0) << (8 - (bytes_read - 9));
					} else if (bytes_read > 18) {
						invalid = 1 > 0;
					}
					System.out.println(a[0]);
					System.out.println(new String(new char[i]).replace("\0", " ") + "|");
					System.out.println(a[1]);
				}
			}

			while (!(Integer.toHexString(DATAONE).equals("0x2b") && (read)
					&& Integer.toHexString(reg).equals("0xa6"))) {

				System.out.println(System.currentTimeMillis());
				try {
					Thread.sleep(1);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}

		} catch (Exception e) {
			while (true) {
			}
		}

	}
}

```

Try it online!

# Answer
> 3 votes
# Braingolf, 18 bytes Cracked

```
1+[#£-0!e>:$_1>|]

```

Try it online!

Liiiitle bit harder than the last one, I'll start writing a *real* one after this

> The answer is 163

# Answer
> 3 votes
## JavaScript (ES7), 41 bytes (Hacked & Cracked)

*Edit: fixed to prevent it from crashing when given no input at all (thanks @totallyhuman for noticing)*

---

Several solutions probably exist, but the expected one is relatively simple.

```
(x=0)=>{for(;~x/x.length**3!=-2962963;);}

```

Intended solution:

> "8e7" (a number in scientific notation passed as a string)
> Because: ~"8e7"/"8e7".length\**3 = -80000001/3\**3 = -80000001/27 = -2962963

# Answer
> 3 votes
# JavaScript (Node.js), 18 bytes (Cracked)

```
x=>{while(x+"h");}

```

Try it online! Answer:

> `new Buffer(268435440)` throws an error when `.toString`ed.

# Answer
> 3 votes
# Mathematica, ~~36~~ 26 bytes (cracked)

```
#0[#;$IterationLimit=∞]&

```

A very short loop `#0[#;∞]` that will just keep running itself over and over until it crashes your kernel... (The `$IterationLimit` is just to make sure you get stuck forever for most inputs).

Try it on Wolfram Sandbox! \- if you are stuck in an infinite loop, you can wait until you time out, or you can press the square "abort evaluation" icon to the left of the notebook title `(unnamed)`.

**NOTE**: this function changes your `$IterationLimit` settings.

# Answer
> 3 votes
# Bash + Utils (Cracked by Dennis), 74 bytes

I hope you enjoy tar, because it's the only utility you can use.

```
cp /bin/tar .
env -i PATH=$PWD I=$? /bin/bash -r -c "$1"
while :;do :;done

```

Try it online!

### Intended crack

> `tar -cf --checkpoint=1 --checkpoint-action=exec="/bin/kill $I" .`

# Answer
> 3 votes
# C#, 118 bytes (Cracked)

```
using System;_=>{while(1>0){try{if(Nullable.GetUnderlyingType(Type.GetType(Console.ReadLine()))!=null)break;}catch{}}}

```

I don't expect this to last too long but it is more awkward than it appears to be.

> Basically any Nullable classes full name works but it is awkward to find out as it looks like the below :
> `System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]`
> An easier way to find this string out is to do `typeof(int?).FullName`.

# Answer
> 3 votes
# JavaScript (ES7), 73 bytes (Cracked!)

```
q=>{r=(n,i=0)=>i>1e3?n:r(n*16807%(2**31-1),i+1);while(r(q)!=627804986){}}

```

Not wanted solutions: brute force. Desired crack involves math.

Note that there are many solutions (4194304) because of modulo.

# Answer
> 3 votes
# Swift 3, 14 bytes (Cracked)

```
while !false{}

```

To solve this, put your code before or after this statement.

* Your solution must:
    + keep this statement intact, without modifying its code
    + actually let this statement run
        - Simply commenting it out, calling `fatalError()`, etc. before it doesn't count.
    + modify the behavior of this statement to prevent it from looping forever
* The solution does not involve crashing the program.

# Answer
> 3 votes
# brainfuck, 170 bytes cracked!

```
>>,>,>,>,>,[-----------<-<+<--<--->>>>]<++<<+<++[----->+<]>[----------------->+++++++<]>[----->>+<<]>>[-<->]<[--->++++++<]>[--->+<]+>-[-----------------<+>]<[-->-<]>+[+-]

```

Try it online!

# Answer
> 2 votes
# JS (ES6), 23 bytes (Cracked)

```
x=>{while(!x||x>="\n");}

```

Fairly easy, but not that easy.

*-1 byte thanks to Step Hen, -3 thanks to a mistake pointed out by Step Hen*

# Answer
> 2 votes
# cQuents, 2 bytes (Cracked 1) (Cracked 2)

```
:A

```

Note that this will quickly hit the 128 KiB output limit on TIO, causing it to stop, but when run locally it will loop forever, except on the input that breaks it. Finding that input should be fairly easy. Until you do, `:A` will keep sticking its triangular tongue out at you.

Note also that this *should* be just `A` but I broke implicit modes last night. On older interpreter versions `A` would work fine.

Cracks:

> Empty input/newline on input is a valid crack. However, barring that, by passing multiple (space separated) inputs to the program, you'll terminate it (if you give 2) or error out (if you give 3 or more).

Try it online!

# Answer
> 2 votes
# JS (ES6), ~~81~~ 75 bytes (Cracked)

```
x=>eval("for(var i=0;i<1/0;i+="+(x.slice?Math.abs(Number(x))+50||1:1)+");")

```

Try it online!

# Answer
> 2 votes
# JavaScript (Node.js), 28 bytes Cracked

```
x=>{while(!x||x.__proto__);}

```

Try it online!

Know of anything truthy that dosen't have the `__proto__` property?

# Answer
> 2 votes
# Python 2 (44 characters per TIO): cracked

```
while 1:
 try:
  x = input()
 except:
  pass

```

Updated TIO Link to correct for a more trivial example than intended from code golfing:

Try it online!

# Answer
> 2 votes
# Python 3.5, 187 bytes Cracked

```
def f(x):
 t="""def t():
 def t():
  while t:pass
  {}

 t()
t()"""
 if type(x) != str or chr(10) in x:
  while t:pass
 try:t=compile(t.format(x),'m','exec')
 except:
  while t:pass
 exec(t)

```

Forgot that \r also counts as newline. Fixed Version

# Answer
> 2 votes
# Python 3, 45 bytes (cracked, and again!)

A bit of an odd one, and probably easier than the last, but it's shorter.

```
def T(x,t=type):
 while t(x)is t or T(t(x)):0

```

Pass one argument to `T` by appending code to this program. That argument may be initialized imperatively. This answer is the kind of thing I'm looking for.

# Answer
> 2 votes
# JavaScript (Node.js), 36 bytes Cracked

```
x=>{for(;!(x**x==x&&x!=1&&x+x>x););}

```

Try it online!

This one should be quite easy ^\_^

Solution by Vicente Gallur Valero

> 1.00000001

My Solutions:

> 'Infinity' or '-1'

# Answer
> 2 votes
# Python 3.5, 203 bytes (Cracked with Intended Solution and Cracked)

```
def f(x):
 t="""def t():
 def t():
  while t:pass
  {}

 t()
t()"""
 import re
 if type(x) != str or re.search(r"\s",x,re.UNICODE):
  while t:pass
 try:t=compile(t.format(x),'m','exec')
 except:
  while t:pass
 exec(t)

```

There is actually a third way to crack it

My Answer:

> f("t=t")
> Python decides at compile time if a variable is local or not by checking if it is assigned anywhere in the function
> So even if the statement is never executed it still changes the behaviour of the function(in this case causing an UnboundLocalError because it is never assigned)

# Answer
> 2 votes
# , 37 bytes, Cracked

```
f=function(x){eval(x);x=T;while(x){}}

```

Try it online!

Intended solution (basically the same as the cracked version):

> `x=T<-F`

# Answer
> 2 votes
# JavaScript (Node.js), ~~52~~ 46 bytes (Cracked)

```
x=>{try{(!(x*1)||x*1)&&0()}catch(e){for(;;);}}

```

Try it online!

Intended:

> // break excluded middle:
> {valueOf:()=\>this.q?0:this.q=1}

# Answer
> 2 votes
# Pyth, 5 bytes, Cracked, Cracked

```
##.vz

```

Code

I believe there's (essentially) only a single solution.

# Answer
> 2 votes
# C#, 63 bytes (Cracked)

```
a=>{while(1>0)if(string.IsInterned(new string(a))!=null)break;}

```

Compiles to a `Action<char[]>`.

Try it online!

> An empty array and `null` all seem to work. This is because `string.Empty`, or `""`, is always interned.

# Answer
> 2 votes
# Swift 3, 43 bytes, Cracked

```
func f(i:Int){let p=0;while i==p||i != p{}}

```

Call with `f(i: /*your input here*/)`

More readable:

```
func gandalf(input: Int) {
    let password = 0
    while input == password || input != password {
        print("You shall not pass!")
    }

    print("nvm")
}

```

Call with `gandalf(input: /*your input here*/)`

Try it here!

I affirm that I have a working crack for this.

# Answer
> 2 votes
# CPython 2.7, ~~96~~ ~~93~~ 100 bytes Cracked

There are so many loopholes in python! It is really hard to write code which can't be manipulated or produce vastly unexpected results.

```
def f(x):
 try:
  s=str(x)
  [c for c in s if c not in'x.']and 0/0
  exec(s)
 finally:
  while(1):1

```

Not too hard, I'm afraid.

# Answer
> 2 votes
# C++ (gcc/MSVC), 62 bytes, cracked

```
template<class T,T=T{}>T*f(T t){for(static T*a;!a;(T&)a=t=0);}

```

Tested on Linux and Windows, with and without optimizations enabled. Under MSVC, you may wish to use `#pragma warning(default:4716)`.

> `class T{}T::*t;`
> A null pointer-to-data-member is (typically, on modern platforms) assigned a numeric value of -1, as opposed to other null pointers, which are assigned a numeric value of 0. This is so that the pointer-to-data-member can store the offset of the data member from the beginning of the class, since this offset could be 0 for the first data member.

Try it online!

# Answer
> 2 votes
# Node.js, 129 bytes Cracked

```
q=>{try{v=require("vm");c=v.createContext();new v.Script(String.prototype.toString.apply(q)).runInContext(c)}catch(a){}for(;;){}}

```

Unwanted: tampering with require/vm (eg `require=1;q()`)

# Answer
> 2 votes
# Python 3, 35 bytes, cracked

```
def f(o):
 while bool(o)==bool(o):0

```

Try it online!

Not too hard...

Intended solution (ungolfed, 'cause screw it):

> `class LOL:
>  def __init__(self):
>  self.lol = True
>
>  def __bool__(self):
>  self.lol = not self.lol
>  return self.lol
>
> lol = LOL()
>
> f(lol)`

# Answer
> 2 votes
## #Batch, ~~26 24~~ 28 bytes - Cracked(Unintened)

Unfortunately, TIO doesn't support batch, so you will need to try on a command prompt.

```
:L
set/pp=
echo("%p%"
goto l

```

---

The unintended solution:

> ```
> "&&exit
> ```
> (Note the trailing space!) This undoes the quotes in `echo("` and execute the `exit` command. Actually, the `exit` command can be changed to lots of other commands that causes an exit.

The intended solution:

> *Hint: The intended solution does not use `&&`, but uses variable expansion bug.*

# Answer
> 2 votes
# Python, 91 bytes, Cracked

```
x=input()
try:y=len(x)<10and'*'not in x and len(str(eval(x)))==307
except:y=0
while not y:0

```

`raw_input` for Python 2.

No one found the intended answer but the solutions found were very creative and impressive.

A hint for the intended answer is:

> it consists of only letters.

The intended answer is:

> `copyright`

# Answer
> 2 votes
# JavaScript ES6 (Node.js \>= 6.0), 326 bytes (Safe)

```
((v,e=require('events').EventEmitter.prototype,l=_=>{while(1);},P=Proxy,p=process)=>(p.kill=p.exit,e.listeners=new P(e.listeners,{apply:(t,c,a)=>a[0]=='exit'?[]:t.apply(c,a)}),e.removeAllListeners=new P(e.removeAllListeners,{apply:(t,c,a)=>a[0]=='exit'?c:t.apply(c,a)}),p.on('exit',l),i=>{try{v(i)}catch(o){}l()}))(s=>eval(s))

```

Much more simplified than my other challenge was, I'm no longer attempting to obfuscate the approach for the solution, which saved me a lot of bytes. This time around, `process.kill()` won't work.

> `"delete process._events.exit;process.exit()"`

Try it online!

# Answer
> 2 votes
# Python 2, 86 bytes (safe)

```
def _(x):exec x
try:(input()or _("while 1:0"))and _("while 1:0")
except:_("while 1:0")

```

I know this is a late answer, but I thought of what I think is an interesting way to do this.

### Update and explanation:

The answer is

> `_("__import__('os')._exit(0)")`. In Python 2, the `input` function evals its argument before returning the resulting value. In order to bypass the infinite loops, the input string must somehow lead `input` to exit the program without raising an exception. Ordinarily, this should be impossible, because `eval` cannot execute arbitrary code by itself in Python 2. However, the `_` function may be called by a string passed to `eval`, and since `_` is itself a wrapper for the `exec` statement, which *can* execute arbitrary code, this input is able to function by calling `_` with a string containing a call to the `os._exit` function, which exits the program immediately without erroring.
> Actually, I just noticed that the `_` `exec` wrapper isn't strictly necessary, as `__import__('os')._exit(0)` is technically an expression rather than a statement and thus can be passed to `eval` without a syntax error.
> Regardless, one should never use the `input` function in Python 2, especially in conjunction with a wrapper for `exec`. Use `raw_input` instead and then convert the value to whatever type you want.

# Answer
> 2 votes
# 05AB1E - 4 bytes

```
[I#]

```

The answer is easy if you know 05AB1E

# Answer
> 2 votes
# JavaScript (Node.js), 108 bytes, Double Cracked

```
f=y=>(x=>{for(;typeof y=='string'&&x===x;);})(f['constructor'](`return +[${y.replace(/[^W-`*-0]/g,'')}]`)())

```

Try it online!

Fixed a bug that allowed errors...

> My intended solution was `[][+[]]+[]][+[]`. This evaluates to coercing undefined to an integer, which is NaN, and `NaN !== NaN`.

# Answer
> 1 votes
# MATL, 7 bytes (cracked and cracked)

```
jU`ttX=

```

Try it online!

# Answer
> 1 votes
# JS (ES6), 37 bytes (Cracked)

```
x=>{for(;typeof x!=="object"||x;);}

```

Pretty easy. Let's see how long this lasts.

# Answer
> 1 votes
# JavaScript (Node.js), 35 bytes (Cracked and Cracked)

I hope that I didn't miss anything ¯\\\_(ツ)\_/¯:

```
x=>y=>{while(!(x>=y&&x<=y&&x!=y));}

```

Try it online!

Intended solution:

> `{}`, `{}`

# Answer
> 1 votes
# Octave, 25 bytes (Cracked and Cracked)

```
x=input('');while 1|x,end

```

Try it online!

# Answer
> 1 votes
# Add++, 106 bytes, Cracked

```
+?
-1
=?
-1
=?
N
W,+0
+?
+?
+?
>?
-?
V
V
^2
V
=?
N
W,+0
+G
-G
V
=?
N
W,+0
+G
*G
-?
W,+0
+?
>
-24
-?
W,+0
O

```

Try it online!

~~This is really mean, to anyone who tries to crack it. So, uh, have fun!~~ I forgot about empty input!

# Answer
> 1 votes
# JavaScript (ES6), 28834 bytes, Cracked

```
y=>{x=y;[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+!+[]])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+(+(+!+[]+[+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]+!+[]])[+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]]+(![]+[])[+!+[]])+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+(!+[]+!+[]+[+!+[]])+[])+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[+!+[]]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+([][[]]+[])[+[]]+([][[]]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+!+[]]+(+[![]]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+!+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(+(!+[]+!+[]+[+!+[]]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[+!+[]])[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]])()(([]+[])[([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]]+(+(+!+[]+[+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+[+[]])))()}

```

Try it online!

> Answer is 991, checks for input * 7 == 6937

# Answer
> 1 votes
# Python 3, 228 Bytes (Cracked \- Fixed)

I was stupid, and this was cracked because I missed a trivial case. Thanks to Jonathan Allan, it's been fixed, and I resubmit it.

Try it here

```
p=print
try:
    n=input()
except:
    while 1:p("i")
try:
    while sum(map(int,n))<1or not(int(n[17]+n[:17])==2*int(n[:18])and int(n[45]+n[18:45])==3*int(n[18:46])and int(n[87]+n[46:87])==5*int(n[46:88])):p("m")
except:
    while 1:p("x")

```

# Answer
> 1 votes
# RProgN 2, 11 bytes Cracked

```
` .iS‘"{".C

```

Try it online!

## Cracks:

> `#` A single `#` will cause the `{` to be treated as a function literal, rather than executing it, which avoids the loop.

# Answer
> 1 votes
# Python 2, 42 bytes (Unintended Crack & Intented Crack)

```
def f(x):
    try:x()
    except:7
    while True:7

```

There's an intended solution here, but I'm curious what people will come up with...

Try it online!

# Answer
> 1 votes
# Python 3 (CPython), 50 bytes (cracked)

```
l=[]
l+=[l]
def l(a,i=id,l=id(l)):
 while i(a)-l:0

```

Hopefully a little bit tricky.

Pass one argument to `l` by appending code to this program. That argument may be initialized imperatively. This answer is the kind of thing I'm looking for.

# Answer
> 1 votes
# Commodore 64 Basic, 14 bytes: Cracked

```
1INPUTB
2GOTO1

```

Tested using VICE, but any Commodore emulator should work.

Cracked:

> 9999999999999999999999999999999999999999999999999999999999999999.9

# Answer
> 1 votes
# JavaScript (in Node.js), 65 bytes Cracked

```
x=>{try{for(;!x||x!=0||x instanceof Object;);}catch(e){for(;;);}}

```

Try it online!

> '0'

Let's try another one: https://codegolf.stackexchange.com/a/135562/44718

# Answer
> 1 votes
# J, 22 bytes, Cracked

```
$:@#~^:(0([=[e.{#])#~)

```

This will run forever assuming memory was unlimited, except when given a specific type of input.

# Answer
> 1 votes
# JavaScript (Node.js), 85 bytes Cracked

```
x=>{try{for(;!x||x!=0||x instanceof Object||typeof x!='object';);}catch(e){for(;;);}}

```

Try it online!

> `({valueOf:g=>{Object=Number;return 0}})`
> `({toString:x=>'',__proto__:null})`

# Answer
> 1 votes
# Bash, 50 bytes (cracked)

```
cd $1
for((;${#PWD}-$(dirname $PWD|wc -c);))
{
:
}

```

Input is via command-line arguments.

Try it online!

# Answer
> 1 votes
# anyfix, 13 bytes Cracked

```
ɠ#5+¿2«*"ḶİP»

```

Try it online!

Another easy one, hopefully nobody just bruteforces it :(

> -5

# Answer
> 1 votes
# JavaScript (ES6), 61 bytes (cracked)

```
a=>{while(!Array.isArray(a)||!a.length);a.map(_=>{for(;;);})}

```

Intended solution:

> `new Array(1)` or any empty array with positive length

# Answer
> 1 votes
# JavaScript (Node.js), 43 bytes (cracked)

Thought I'd try my hand at being a copper! Should be a fun one. I trust you guys but if for some reason it's too hard I'll add hints.

Solution does not require an error, if you somehow error I'll post an update with a try/catch ;)

```
x=>{while(!Number.isInteger(x)||x-2!=x-3);}

```

Try it online!

Solution:

> The offered solution: 100000000000000000
> Intended solutions (the closest to zero for which this works): Number.MAX\_SAFE\_INTEGER+7 or -Number.MAX\_SAFE\_INTEGER-3
> You just need to go out of safe integers and test a little to get the right floating point inconsistency.

# Answer
> 1 votes
# JavaScript (ES6), 27 bytes (Cracked, Cracked \- both unintended) (Intended Cracked)

```
x=>{while(!(x&&x==false));}

```

> The other cracks were genius, but the intended crack `[]` or `new Array()`. Empty array in JavaScript is truthy, but `==` false.

Try it online!

# Answer
> 1 votes
# Python 3, 143 bytes (cracked)

```
try:x=int(input())
except:x=0
p=c=n=0
while x:
 b=x&511
 while (p|c|n)&b or b&(b-1):0
 p|=b;c|=b;n|=b;x>>=12;p>>=1;n*=2
while (x+1)/(c-511)<1:0

```

Not enough math-y ones, which makes sense but is kind'a sad. This one isn't particularly competitive, but it's different to most.

Try it online.

# Answer
> 1 votes
# SmallTalk, 136 bytes (not a concise language‼) (cracked)

```
|n p|n:=stdin nextLine asInteger abs. p:=2 raisedTo:n.[(p printString:3)sorted=(p+p printString:3)sorted and:[n\\5=1]]whileFalse:[nil]

```

Not a **TIO** language, but GNU SmallTalk is easily available.

Edited so that the program halts quickly on CodingGround. The solution is now *really* easy!

Code reads the input from the console.

> The intent with the original code using `n\\239=0` was for the robber to discover the pattern of the numbers without including a modulus criterion: `5 27 40 92 138 929 1086 ...`, searching for `"5 27 40 92 138 929 1086"` in Google brings up one match providing five more terms. The last term is divisible by `239`. Anyway, this term is too large to validate in under 30 seconds in any version of SmallTalk. So I had to pick the largest term which could finish fast enough, which was `1086`. Even the next term `352664` in the sequence after `1086` takes more than an hour to validate in SmallTalk!

# Answer
> 1 votes
# Java 8, 47 bytes, Cracked

```
p->{for(;p==null||p.isEmpty()||!p.isEmpty(););}

```

This is a lambda of type `Consumer<List>`. Basically, it will run as long as the list is null, empty, or non-empty... The answer to this one is pretty simple, I'll try and come up with a truly difficult one for my next answer :)

Try it online! (Note, you will have to edit in the input in the function call in the footer)

Just FYI, the intended solution terminates in ~3 seconds (including compilation), so it should be crackable on TIO.

# Answer
> 1 votes
# JavaScript (ES6), 42 bytes, Cracked

```
x=>{while(!(Array.isArray(x)&&x==",,,"));}

```

> An empty array of length 4 (`new Array(4)`), when coerced into a string with `==`, becomes `,,,`.

Try it online!

# Answer
> 1 votes
# R, 44 bytes (cracked and cracked)

```
f=function(x)while(1)if(length(x))grep(x,'')

```

> This halts if `grep(x,'')` receives invalid regex, which was the intended solution. Also fails when given a function as input.

# Answer
> 1 votes
# R, 63 bytes (cracked)

```
f=function(x){set.seed(4);try(eval(x));x=rpois(1,1);while(x){}}

```

# Answer
> 1 votes
# R, 60 bytes, cracked

```
f=function(x)while(1)tryCatch(eval(x),error=function(e)NULL)

```

> `tryCatch` prevents exiting through errors or any kind, so the only way to exit is to call `quit()` or `q()`.

# Answer
> 1 votes
## Python 3.5, 69 bytes, Cracked

```
def f(x):
 y=str(x)
 while not(x and(y[-1]+y[:-1])==str(2*x)):a=1

```

There is a solution that is an integer.

Cracked by isaacg (in 11 min) and Jarko Dubbeldam.

# Answer
> 1 votes
# C++ (gcc/MSVC), 63 bytes, cracked (fixed)

```
template<class T,T=T()>T f(T t){for(auto a=0ll;!a;(T&)a=t={});}

```

Tested on Linux and Windows. To compile with MSVC, use `#pragma warning(default:4716)`.

> Veedrac spotted that by supplying template parameters it's possible to make `T` a reference type, allowing a class type with user-defined constructor. Fixed in the newer version by disallowing reference types using `*`.

Try it online!

# Answer
> 1 votes
# JavaScript (Browser), 62 bytes (cracked)

```
x=>{while(!x||(!(x[Symbol.toPrimitive]=()=>true))||+x||true);}

```

Solution should work in modern browsers on all pages. Is possible without `.toPrimitive` (or similar) trickery (cracked) - is also possible *with* `.toPrimitive` (or similar) trickery (cracked) :P

Intended solutions:

W/o `.toPrimitive` or similar:

> ```
> let i = document.createElement("iframe");
> i.src="https://google.com";
> i.onload=a=>f(i.contentWindow);
> document.body.appendChild(i);
> ```

W/ `.toPrimitive`

# Answer
> 1 votes
# Pyth, 18 bytes, Cracked

```
J<w17#.x$eval(J)$0

```

Code

You must give an input - it'll just hang waiting for input and not terminate otherwise.

# Answer
> 1 votes
# R, 145 bytes (Version 2.0)

```
f=function(x)if(tryCatch(x=="length"|x=="q"|x==".Internal"|x=="quit"|x=="is.list"|!getAnywhere(x)$objs[[1]](list(0)),error=function(e)1))repeat{}

```

# R, 145 bytes Cracked

```
f=function(x)if(tryCatch(x=="length"|x=="q"|x==".Internal"|x=="quit"|x=="is.list"|!getAnywhere(x)$objs[[1]](list(1)),error=function(e)1))repeat{}

```

Modification of this answer. Creating your own version of `is.list` won't work this time :)

# Answer
> 1 votes
# JavaScript (ES7), 25 bytes, Cracked

```
x=>{for(;!(x&&"."**x););}

```

Intended solution:

> `"0"`

Try it online!

# Answer
> 1 votes
# JavaScript (Node.js \>= 6.0), ~~708~~ 694 bytes, Cracked

```
(_=>{let v=s=>eval(s);{let e=require('events').EventEmitter.prototype;e.listeners=new Proxy(e.listeners,{apply(t,c,a){if(a[0]=='exit')return[];return t.apply(c,a)}});e.removeAllListeners=new Proxy(e.removeAllListeners,{apply(t,c,a){if(a[0]=='exit')return c;return t.apply(c,a)}});let w=new WeakSet();Proxy.revocable=new Proxy(Proxy.revocable,{apply(t,c,a){let r=t.apply(c,a);w.add(r.proxy);return r}});Proxy=new Proxy(Proxy,{construct(t,a,n){let p=new t(...a);w.add(p);return p}});let l=_=>{while(1);};process.on('exit',l);return i=>{try{if(!w.has(i)&&i instanceof Function&&typeof i!='function'&&v(String(i))===i&&i()===String(i)){process.removeListener('exit',l)}else{l()}}catch(o){l()}}}})()

```

Don't let the size deter you. Most of it is to just prevent you from trying to get past my intended solution doing the "obvious" stuff.

I hope this isn't more simple than I thought it was, but I assure you it's possible. I've tested on my computer and also on TIO to make sure it wasn't dependent on a particular version of Node.js or something.

This is a function submission, so assign it to a variable and call it with your intended input.

And maybe I'm not supposed to enforce this, but the input for the intended crack doesn't require any pre-processing, it can just be solved by doing this:

```
f=[708 bytes...]
f([your input])

```

### Comment on @hvd's crack

I will reveal one part of the intended solution, since it is no longer relevant, and hvd's approach was much more elegant anyway.

```
Object.create((class extends Function{toString(){process.kill(0)}}).prototype)

```

would have been how I would have written that particular crack, since I had not thought of using `__proto__` in an object literal, so kudos.

### Edit 1

Sorry, forgot to invoke the IIFE, otherwise *any* input would have worked :P

### Edit 2

This doesn't change the challenge at all, it just addresses the comment claiming

> Halts with error, `let` not supported without strict mode. If fix `t(...a)` is unexpected token.

by explicitly defining the accepted range of versions in which these errors don't occur, making the challenge valid.

### Edit 3

By moving the call to `process.on('exit',l)` from the function call into the IIFE scope, I prevented the stupid input of

```
process.on=()=>process.exit()

```

from working. An interesting side-effect of this change is that *not* calling the function causes the program to hang as well!

However, the intended solution is still the same, and the rest of the changes were only for golfing purposes. Carry on!

<sub>(And the timer for marking "safe" has been reset as of this edit because it is major)</sub>

# Answer
> 1 votes
# Python 2, 81 bytes, Cracked

```
try:x,y,z=raw_input().split(',');setattr(__import__(x),y,z)
except:0
while True:0

```

# Answer
> 1 votes
# Java (OpenJDK 8), 517 bytes (safe)

```
import java.lang.reflect.Constructor;
import java.util.Map;
class M{
	public static void main(String[] cm){
		try{
			Class<?>cl=Class.forName(cm[0]);
			Constructor<?>ct=cl.getConstructor();
			Map<Integer,Integer>m=(Map)ct.newInstance();
			String str="Hello World";
			for (int i=0;i<str.length();i++){
				char c=str.charAt(i);
				int cc=m.getOrDefault(new Integer(c),new Integer(0));
				cc++;
				m.put(new Integer(c),new Integer(cc));
			}
			while(m.size()<9);
		}catch(Throwable t){
			while(true);
		}
	}
}

```

Try it online!

Input via the command line arguments.

A little long and verbose, but hey, it's got reflection!

# Golfed a little more, 432 bytes

(Thanks to Stephen!)

```
import java.lang.reflect.Constructor;import java.util.Map;class M{public static void main(String[]a){try{Class<?>l=Class.forName(a[0]);Constructor<?>t=l.getConstructor();Map<Integer,Integer>m=(Map)t.newInstance();String s="Hello World";for(int i=0;i<s.length();i++){char c=s.charAt(i);int C=m.getOrDefault(new Integer(c),new Integer(0));C++;m.put(new Integer(c),new Integer(C));}while(m.size()<9);}catch(Throwable t){while(true);}}}

```

Halting input:

> java.util.IdentityHashMap

# Answer
> 1 votes
# JavaScript (Node.js), 99 bytes

```
x=>{try{while(typeof x!='string'||!x.match`^[()[\\]!+]{4321}$`|eval(x)!='☆');}catch(e){for(;;);}}

```

Try it online!

# Answer
> 1 votes
# x86-64, 5 bytes assembled, SAFE

```
halty:
  verr si
  jnz $
  ret

```

This is a pretty simple "warm up" I came up with. Shouldn't be difficult at all to crack. Takes input in rsi.

Why did this win.

> The solution is simple, at least on my computer. rsi == 32 will cause it to halt. In fact, it has multiple possible inputs that will cause it to halt. verr checks if the segment supplied in %r can be read. IF it can't, the zero flag is set, and the function returns.

# Answer
> 1 votes
# Simplefunge, 1028 bytes, safe

```
0ooooooooooooooooooooooOOOOOOOOOOOOoo9ooOOoOOoOOoOoOOoOoOoOOOOoOoOoOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooIOoOoOoOoOOoOOooOOo-ov
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOooooooo
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOooooooO
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOooooooo
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOooooooO
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOooooooo
ooooOOOOooOOoOOoOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo@oooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooooooooooooooooOOOOOOOOoooooH

```

> The answer is the tab character

Try it online!

# Answer
> 1 votes
# Python 3, 226 bytes, cracked by hyper-neutrino (intended solution)

Not really golfed.

```
def f(x):
    to_be = x == x
    while to_be or not to_be:
        pass
    while True:
        pass
    while 1:
        pass
    i = input()
    s = '!@#$%^&*()_+'
    if all(c in i for c in s):
        exec(i[0xf91ea8222d])

```

Try it online! Super simple, but I just wanted to make that reference. Also, since this is a function, you can't pass input to STDIN.

# Answer
> 1 votes
# Javascript, 125 bytes, cracked

```
f=y=>{while(x=Object.prototype.hasOwnProperty)try{1+(x.call(y||{},'toString')||x.call(y||{},'valueOf')?1:y)}catch(y){return}}

```

Try it online!

Solution:

> We want an input that will throw when cast to a string or a primitive value, the easiest such input is `Object.create(null)`.

# Answer
> 0 votes
# JavaScript (Node.js), 123 bytes, Cracked

```
x=>y=>{try{console.assert(/3$/.test(x));n=y*321;c=x===n.toString().replace(/2$/,3)&&+x===n;if(c)return;}catch(e){}for(;;);}

```

Try it online!

# Answer
> 0 votes
# C (gcc), 144 bytes (Cracked)(Cracked 2) (Intended Crack)

This should be an easy one. Compile without optimizations.

```
#include <stdio.h>
char*a="abcd";char b[256];fun(){char c['\b'];char*d=a;fgets(c,'\f',stdin);snprintf(b,sizeof(c),c,d);}
main(){while(1)fun();}

```

Try it online!

# Answer
> 0 votes
# JavaScript (Node.js), 26 bytes (Cracked, not intended solution)

```
x=>{while(x.constructor);}

```

Try it online!

# Answer
> 0 votes
# JavaScript in Firefox console (on blank.org), 7,987 bytes (cracked)

Not contending to win, but this should be fun.

```
f=B=>{eval("if(typeof B!='number')B=0;if(typeof Β!='number')Β=0;".repeat(4).repeat(2));while(B<=0||B==1||B==2||B==3||B==4||B==5||B==6||B==7||B==8||B==9||B==10||B==11||B==12||B==13||B==14||B==15||B==16||B==17||B==18||B==19||B==20||B==21||B==22||B==23||B==24||B==25||B==26||B==27||B==28||B==29||B==30||B==31||B==32||B==33||B==34||B==35||B==36||B==37||B==38||B==39||B==40||B==41||B==42||B==43||B==44||B==45||B==46||B==47||B==48||B==49||B==50||B==51||B==52||B==53||B==54||B==55||B==56||B==57||B==58||B==59||B==60||B==61||B==62||B==63||B==64||B==65||B==66||B==67||B==68||B==69||B==70||B==71||B==72||B==73||B==74||B==75||B==76||B==77||B==78||B==79||B==80||B==81||B==82||B==83||B==84||B==85||B==86||B==87||B==88||B==89||B==90||B==91||B==92||B==93||B==94||B==95||B==96||B==97||B==98||B==99||B==100||B==101||B==102||B==103||B==104||B==105||B==106||B==107||B==108||B==109||B==110||B==111||B==112||B==113||B==114||B==115||B==116||B==117||B==118||B==119||B==120||B==121||B==122||B==123||B==124||B==125||B==126||B==127||B==128||B==129||B==130||B==131||B==132||B==133||B==134||B==135||B==136||B==137||B==138||B==139||B==140||B==141||B==142||B==143||B==144||B==145||B==146||B==147||B==148||B==149||B==150||B==151||B==152||B==153||B==154||B==155||B==156||B==157||B==158||B==159||B==160||B==161||B==162||B==163||B==164||B==165||B==166||B==167||B==168||B==169||B==170||B==171||B==172||B==173||B==174||B==175||B==176||B==177||B==178||B==179||B==180||B==181||B==182||B==183||B==184||B==185||B==186||B==187||B==188||B==189||B==190||B==191||B==192||B==193||B==194||B==195||B==196||B==197||B==198||B==199||B==200||B==201||B==202||B==203||B==204||B==205||B==206||B==207||B==208||B==209||B==210||B==211||B==212||B==213||B==214||B==215||B==216||B==217||B==218||B==219||B==220||B==221||B==222||B==223||B==224||B==225||B==226||B==227||B==228||B==229||B==230||B==231||B==232||B==233||B==234||B==235||B==236||B==237||B==238||B==239||B==240||B==241||B==242||B==243||B==244||B==245||B==246||B==247||B==248||B==249||B==250||B==251||B==252||B==253||B==254||B==255||B==256||B==257||B==258||B==259||B==260||B==261||B==262||B==263||B==264||B==265||B==266||B==267||B==268||B==269||B==270||B==271||B==272||B==273||B==274||B==275||B==276||B==277||B==278||B==279||B==280||B==281||B==282||B==283||B==284||B==285||B==286||B==287||B==288||B==289||B==290||B==291||B==292||B==293||B==294||B==295||B==296||B==297||B==298||B==299||B==300||B==301||B==302||B==303||B==304||B==305||B==306||B==307||B==308||B==309||B==310||B==311||B==312||B==313||B==314||B==315||B==316||B==317||B==318||B==319||B==320||B==321||B==322||B==323||B==324||B==325||B==326||B==327||B==328||B==329||B==330||B==331||B==332||B==333||B==334||B==335||B==336||B==337||B==338||B==339||B==340||B==341||B==342||B==343||B==344||B==345||B==346||B==347||B==348||B==349||B==350||B==351||B==352||B==353||B==354||B==355||B==356||B==357||B==358||B==359||B==360||B==361||B==362||B==363||B==364||B==365||B==366||B==367||B==368||B==369||B==370||B==371||B==372||B==373||B==374||B==375||B==376||B==377||B==378||B==379||B==380||B==381||B==382||B==383||B==384||B==385||B==386||B==387||B==388||B==389||B==390||B==391||B==392||B==393||B==394||B==395||B==396||B==397||B==398||B==399||B==400||B==401||B==402||B==403||B==404||B==405||B==406||B==407||B==408||B==409||B==410||B==411||B==412||B==413||B==414||B==415||B==416||B==417||B==418||B==419||B==420||B==421||B==422||B==423||B==424||B==425||B==426||B==427||B==428||B==429||B==430||B==431||B==432||B==433||B==434||B==435||B==436||B==437||B==438||B==439||B==440||B==441||B==442||B==443||B==444||B==445||B==446||B==447||B==448||B==449||B==450||B==451||B==452||B==453||B==454||B==455||B==456||B==457||B==458||B==459||B==460||B==461||B==462||B==463||B==464||B==465||B==466||B==467||B==468||B==469||B==470||B==471||B==472||B==473||B==474||B==475||B==476||B==477||B==478||B==479||B==480||B==481||B==482||B==483||B==484||B==485||B==486||B==487||B==488||B==489||B==490||B==491||B==492||B==493||B==494||B==495||B==496||B==497||B==498||B==499||B==500||B==501||B==502||B==503||B==504||B==505||B==506||B==507||B==508||B==509||B==510||B==511||B==512||B==513||B==514||B==515||B==516||B==517||B==518||B==519||B==520||B==521||B==522||B==523||B==524||B==525||B==526||B==527||B==528||B==529||B==530||B==531||B==532||B==533||B==534||B==535||B==536||B==537||B==538||B==539||B==540||B==541||B==542||B==543||B==544||B==545||B==546||B==547||B==548||B==549||B==550||B==551||B==552||B==553||B==554||B==555||B==556||B==557||B==558||B==559||B==560||B==561||B==562||B==563||B==564||B==565||Β==566||B==567||B==568||B==569||B==570||B==571||B==572||B==573||B==574||B==575||B==576||B==577||B==578||B==579||B==580||B==581||B==582||B==583||B==584||B==585||B==586||B==587||B==588||B==589||B==590||B==591||B==592||B==593||B==594||B==595||B==596||B==597||B==598||B==599||B==600||B==601||B==602||B==603||B==604||B==605||B==606||B==607||B==608||B==609||B==610||B==611||B==612||B==613||B==614||B==615||B==616||B==617||B==618||B==619||B==620||B==621||B==622||B==623||B==624||B==625||B==626||B==627||B==628||B==629||B==630||B==631||B==632||B==633||B==634||B==635||B==636||B==637||B==638||B==639||B==640||B==641||B==642||B==643||B==644||B==645||B==646||B==647||B==648||B==649||B==650||B==651||B==652||B==653||B==654||B==655||B==656||B==657||B==658||B==659||B==660||B==661||B==662||B==663||B==664||B==665||B==666||B==667||B==668||B==669||B==670||B==671||B==672||B==673||B==674||B==675||B==676||B==677||B==678||B==679||B==680||B==681||B==682||B==683||B==684||B==685||B==686||B==687||B==688||B==689||B==690||B==691||B==692||B==693||B==694||B==695||B==696||B==697||B==698||B==699||B==700||B==701||B==702||B==703||B==704||B==705||B==706||B==707||B==708||B==709||B==710||B==711||B==712||B==713||B==714||B==715||B==716||B==717||B==718||B==719||B==720||B==721||B==722||B==723||B==724||B==725||B==726||B==727||B==728||B==729||B==730||B==731||B==732||B==733||B==734||B==735||B==736||B==737||B==738||B==739||B==740||B==741||B==742||B==743||B==744||B==745||B==746||B==747||B==748||B==749||B==750||B==751||B==752||B==753||B==754||B==755||B==756||B==757||B==758||B==759||B==760||B==761||B==762||B==763||B==764||B==765||B==766||B==767||B==768||B==769||B==770||B==771||B==772||B==773||B==774||B==775||B==776||B==777||B==778||B==779||B==780||B==781||B==782||B==783||B==784||B==785||B==786||B==787||B==788||B==789||B==790||B==791||B==792||B==793||B==794||B==795||B==796||B==797||B==798||B==799||B==800||B==801||B==802||B==803||B==804||B==805||B==806||B==807||B==808||B==809||B==810||B==811||B==812||B==813||B==814||B==815||B==816||B==817||B==818||B==819||B==820||B==821||B==822||B==823||B==824||B==825||B==826||B==827||B==828||B==829||B==830||B==831||B==832||B==833||B==834||B==835||B==836||B==837||B==838||B==839||B==840||B==841||B==842||B==843||B==844||B==845||B==846||B==847||B==848||B==849||B==850||B==851||B==852||B==853||B==854||B==855||B==856||B==857||B==858||B==859||B==860||B==861||B==862||B==863||B==864||B==865||B==866||B==867||B==868||B==869||B==870||B==871||B==872||B==873||B==874||B==875||B==876||B==877||B==878||B==879||B==880||B==881||B==882||B==883||B==884||B==885||B==886||B==887||B==888||B==889||B==890||B==891||B==892||B==893||B==894||B==895||B==896||B==897||B==898||B==899||B==900||B==901||B==902||B==903||B==904||B==905||B==906||B==907||B==908||B==909||B==910||B==911||B==912||B==913||B==914||B==915||B==916||B==917||B==918||B==919||B==920||B==921||B==922||B==923||B==924||B==925||B==926||B==927||B==928||B==929||B==930||B==931||B==932||B==933||B==934||B==935||B==936||B==937||B==938||B==939||B==940||B==941||B==942||B==943||B==944||B==945||B==946||B==947||B==948||B==949||B==950||B==951||B==952||B==953||B==954||B==955||B==956||B==957||B==958||B==959||B==960||B==961||B==962||B==963||B==964||B==965||B==966||B==967||B==968||B==969||B==970||B==971||B==972||B==973||B==974||B==975||B==976||B==977||B==978||B==979||B==980||B==981||B==982||B==983||B==984||B==985||B==986||B==987||B==988||B==989||B==990||B==991||B==992||B==993||B==994||B==995||B==996||B==997||B==998||B>=999);}

```

There's another crack out there, waiting to be found... Cracks:

> \- NaN (unintended)
> \- decimals

# Answer
> 0 votes
# JavaScript, cracked

```
x=>{try{for(;x.x||!x.x;);}catch(e){for(;;);}}

```

Try it online!

# Answer
> 0 votes
# Befunge-98, 34 bytes, Possibly cracked

```
> #;de+294&:0\`#;_3*+*\-\0pqk$#q_

```

Unfortunately I couldn't get this to halt in ~~TIO or~~ CCBI, but it works in BefungeSharp. ~~(If you can find a way to make it halt on TIO, mock me mercilessly)~~ @ovs figured one out which depends on the fact that...

> TIO does not implement the `=` instruction, making it behave like `r`. When the reversed IP encounters `p`, it deletes `>` from the program start, allowing the IP to run backwards to `q_`. This could be fixed by adding a leading space to the program (and replacing `de+` with `ee+`).

To run the program:

1. Save the above code to a file somewhere
2. Run BefungeSharp (it will probably work under Wine)
3. Press `2` (open file) and find the file you saved from before
4. (Press any key to continue)
5. Press a key from F2 to F5 to run (F2 = slow, F5 = fast)
6. Hit F12 to stop execution, and alt-R to reload

The program won't halt on TIO or CCBI. (I blame ambiguous Funge-98 specs.) Inputs which crash BefungeSharp do not count.

`&` asks for a number, so input a number. To save you some time, the program ignores negatives.

# Answer
> 0 votes
# JavaScript, 28 bytes (Cracked here and here)

```
x=>{while(!(x&&1+x!==1+x));}

```

> Both cracks were unexpected and I find them very clever (that's why I love this site). The crack I intended was `{valueOf: function(){}}`.

# Answer
> 0 votes
# JavaScript (ES6), 119 bytes, Cracked

```
x=>{try{while(typeof x!="string");x=x.trim();while(!(x.length==6&&x[4]==" "&&eval(x)===undefined));}catch(e){for(;;);}}

```

While cracking this with the usual JavaScript prototype changing and object stuff is probably possible, the intended solution is a regular old string.

> `"void 0"` evaluates to `undefined`.

Try it online!

# Answer
> 0 votes
# JavaScript, 52 bytes (Cracked again)

```
x=>{while(1){try{if(x&&1+x!==1+x)break;}catch(e){}}}

```

# Answer
> 0 votes
# R, 134 bytes (cracked)

```
f=function(x)if(tryCatch(!is.function(x)|identical(x,q)|identical(x,quit)|identical(x,is.list)|!x(list()),error=function(e)1))repeat{}

```

# Answer
> 0 votes
## BASIC, 8 bytes (Cracked)

`1input x`

Meets the conditions of the OP completely, other than TIO which was a request not a condition.

Try it.

It'll hang forever (machine stability required) and terminate predictably within \<\< a second of any input. Probably not what the OP meant but perfectly fair. Alls fair in love and golf!

# Answer
> 0 votes
## CPython 3.6, 634 bytes, Cracked

Fixed a misplaced `try:` statement that allowed `1/0` and even no input to break things. Original.

```
try:j=input();__builtins__.__dict__["__import__"]=eval(j);import random,functools,itertools,zlib;exec("@functools.lru_cache(None)\ndef f():i=input();return(all(x is y for x,y in itertools.zip_longest((x for x in sorted(dir(eval(i[::2])))if'_'not in x),sorted{}))\nand all(x is y for x,y in itertools.zip_longest((x for x in sorted(dir(eval(i[1::2])))if'_'not in x),sorted{}))and 8 and zlib.crc32(bytes(i,'ASCII'))==zlib.crc32(bytes(j,'ASCII')))".format(*eval('('+"(tuple(''.join(random.choice('abcdefghijklmnopqrstuvwxyz')for x in range%s)for x in range%s),),"%(("(random.randint(1,9))",)*2)*2+')')));f()
except:f=bool
while not f():8

```

# Answer
> 0 votes
# Python 3, 67 characters (cracked)

An easy one, though this one is actually worth knowing so I thought I'd throw it in anyway.

```
import shutil,sys
while 1:shutil.copyfileobj(sys.stdin,sys.stdout)

```

Input goes in `stdin`.

# Answer
> 0 votes
# Befunge 93, 13 bytes, cracked by ovs

<sup>13 bytes: if you crack me you will get bad luck forever!!! ~Spooky~</sup>

```
~345**-0/#v_@

```

Unfortunately this one's pretty crackable.

# Answer
> 0 votes
Lua, 107 Bytes, Cracked

I hate how verbose lua is - getting inputs takes up almost half the program.

```
x=tonumber(io.read())or 2 y=tonumber(io.read())or 2 if y^(x%5)+x*y+y~=x^3-(x-120)*x then while 1 do end end

```

I tried to account for all trivial solutions - hopefully this works.

# Answer
> 0 votes
# Python, 19 bytes (cracked)

```
while(lambda:1)():0

```

**How to input:**

Write any code *above* this statement, following some simple restrictions against low-hanging fruit:

* The line must be reached, *unconditionally*. A solution must reach this line even in unlikely scenarios.
* No threads or processes may be spawned,
* The solution must run on Python 2 (CPython and PyPy) *and* Python 3 (CPython).

Try it online (Python 2, CPython).
Try it online (Python 2, PyPy).
Try it online (Python 3, CPython).

# Answer
> 0 votes
# Python 2, 143 bytes (cracked)

```
from sys import*
def l(*_):
 while 1:1
t=lambda*_:l;p=lambda*_:_[1][1]=="_"and l()or settrace(t)
def k(f):
 setprofile(p)
 try:f()
 finally:l()

```

The warmup was handled faster than expected, so let's go straight to the deep end. Pass one argument to `k` by appending code to this program. That argument may be initialized imperatively.

* Don't modify `k` or its dependencies before calling it; you must break `k` from within. Similarly, don't call `sys.setprofile` or perform other interpreter modifications when initializing the argument.
* No threads or processes may be spawned,
* The solution must run on CPython and PyPy,

Try it online (CPython).
Try it online (PyPy).

# Answer
> 0 votes
# Swift 3, 77 bytes (safe)

```
extension Bool{prefix static func !(b:Bool)->Bool{return true}}
while !true{}

```

To solve this, put your code before or after this statement.

* Your solution must:
    + keep this statement intact, without modifying its code
    + actually let this statement run
        - Simply commenting it out, calling `fatalError()`, etc. before it doesn't count.
    + modify the behavior of this statement to prevent it from looping forever
* The solution does not involve crashing the program.

---

> This code is a refinement of my previous (cracked) attempt, here.
> The first line of this code exists solely to prevent the exploit found by @Veedrac.
> `true` in `while !true` is not actually a `Bool`. It's a boolean literal. Any type that conforms to `ExpressibleByBooleanLiteral` can be initialized from a boolean literal. Usually, the correct `ExpressibleByBooleanLiteral` to be instantiated is inferred from the context where it's needed. If, such as in this case, the context does not provide any type information as to the kind of `ExpressibleByBooleanLiteral` needed, the compiler falls back to choosing `BooleanLiteralType` as the default.
> By default, the value of `BooleanLiteralType` is `Bool`. This makes sense. In the absence of contextual type information, `true` and `false` are both used to initialize instances of `Bool`. Interestingly, `BooleanLiteralType` can be overridden locally. My solution exploits this by creating a `ExploitBool` type, and sets it to be the preferred type for boolean literals, so the `true` in `while !true` is actually an instance of `ExploitBool`. I then define a prefix `!` operator, so that for all instances `x` of `ExploitBool`, `x` returns `true` as a `Bool`.
>
> ```
>
>     // First, set up the exploitive data type we need:
>     struct ExploitBool: ExpressibleByBooleanLiteral {
>         init(booleanLiteral _: Bool) {
>             // ignore booleanLiteral, we don't care about it
>         }
>
>
>         // Define the prefix ! as an operator that acts on a ExploitBool,
>         // and always just returns false (as a regular Bool)
>         prefix static func !(b: ExploitBool) -> Bool {
>             return false
>         }
>     }
>
>
>     // Then, set it as the preferred type to instantiated from
>     //boolean literals in the absense of other contextual type information.
>     typealias BooleanLiteralType = ExploitBool
>
>
>     extension Bool{prefix static func !(b:Bool)->Bool{return true}}
>     while !true{}
>
> ```

# Answer
> 0 votes
# BrainF - Cracked

```
,[->+>+<<]>>[-<<+>>]<<[->+<]>------------------------------------------------------------------------------------------------[.]

```

Should be easy to reverse engineer it.

# Answer
> 0 votes
# PowerShell, 27 bytes, (Cracked by @DominicVanEssen in comments)

```
while([int]($args[0])+1){1}

```

Try it online!

Should be very easy to crack!

# Answer
> 0 votes
# Python 3, 46 bytes, cracked by EasyAsPi

```
def f(x):
 while isinstance(type(x),type):pass

```

I only ask that the function must actually be called: i.e., you can't just pass an object that calls `exit()` in `__init__`, because that would exit *before* execution of `f` began.

# Answer
> 0 votes
# Golfscript, 23 bytes (Safe)

```
'\\'/)2<'" '.@@++~{.}do

```

I hope I blocked everything except my intended solution... :)

Try it online!

## Edit:

This solution is technically 'safe', but I think it doesn't deserve it.

First, the challenge was posted 3 years ago, so it was relatively inactive. Moreover, Golfscript is quite esoteric, so fewer people would have had to try solving it.

Below is the solution anyways. Please check it out to evaluate it yourself! :D

> Using the string interpolation trick, '#{' will generate an error.

# Answer
> -1 votes
## CPython 3.6, ~~635~~ 634 bytes Cracked

```
j=input()
__builtins__.__dict__["__import__"]=eval(j)
import random,functools,itertools,zlib
exec("@functools.lru_cache(None)\ndef f():i=input();return(all(x is y for x,y in itertools.zip_longest((x for x in sorted(dir(eval(i[::2])))if'_'not in x),sorted{}))\nand all(x is y for x,y in itertools.zip_longest((x for x in sorted(dir(eval(i[1::2])))if'_'not in x),sorted{}))and 8 and zlib.crc32(bytes(i,'ASCII'))==zlib.crc32(bytes(j,'ASCII')))".format(*eval('('+"(tuple(''.join(random.choice('abcdefghijklmnopqrstuvwxyz')for x in range%s)for x in range%s),),"%(("(random.randint(1,9))",)*2)*2+')')))
try:f()
except:f=bool
while not f():8

```

Try it online!

It probably works in some other versions too, but I haven't tested it in them. Golfing advice welcome.

Note that triggering an `EOFError` is cheaty - this program expects streams to remain open!

I also have an ungolfed version, complete with terrible, terrible ASCII art, prettified output and probable cryptographic security.

```
import_input = input()
__builtins__.__dict__["__import__"] = eval(import_input)

import secrets
import functools
import itertools
import zlib
import base64

code = b"""
             GA2
   A      LGA  2     AL1ad        >eG
  @ >T   )Ec#  6     *  C       WM 2 +0    4.            ^1
 +   5  i      T    m   \'     J   ]   7  g                q
 e  `   -+     D V_4W  a ,    :C<  G  E*t
3   GW0P0V/bkg iU>       o    %hb  &  CM_
n      Y 1!SHJIUjh^     iZ    Ol5  %  =n4   Q`b   21   Z>A
R    l& j       iSDh  c>j  ;#  @h  E  ?l    B  W h  # u
di-90o @\\O"t6XNM8boo1T   /JHW     c        Y,@  H    N Ok
                        ?pDT:)     (        (    `    %  F
3<uEZ_BZ"\\hNA)a.1W_9\\)/e%/ROb    2        V     ?5   3q
c5g^O89kP>iuQ3`*GZHb>#u0%gcC_6(    i
L                           Es/    V
6                           >qD    m       H              6
,                           D;$    J        K            ,
                             :K    O              U   ?
                                 I0L(#               d
                                 =   C              9
                                                   `
f$g3<"""

alphabet = "abcdefghijklmnopqrstuvwxyz"
make_keyword = lambda l:"".join(secrets.choice(alphabet) for x in range(l))
exec(zlib.decompress(base64.a85decode(code)[::-1]).decode("ASCII").format(
    *eval('('+"(tuple(make_keyword(secrets.randbelow(20)+1)"
                "for x in range(secrets.randbelow(20)+1)),),"*2+')')))

try:
    f()
except:
    f = bool

while not f():
    print(secrets.randbelow(2), end="")

for byte in itertools.zip_longest(
    *(iter(bin(int.from_bytes(code, "big"))[2:]),) * 8, # bits in a byte
    fillvalue = 0):
    print("".join(byte), end="")

```

Try it online!

---
Tags: code-golf, decision-problem, cops-and-robbers
---