# Question
Title: Pure Sourcery - Shaping programs that output the digits 0 through 9
Here's a pixelated 5 by 7 font for the digits 0 through 9:

```
.███.
█...█
█...█
█...█
█...█
█...█
.███.

..█..
███..
..█..
..█..
..█..
..█..
█████

.███.
█...█
....█
...█.
..█..
.█...
█████

.███.
█...█
....█
..██.
....█
█...█
.███.

█..█.
█..█.
█..█.
█████
...█.
...█.
...█.

█████
█....
█....
.███.
....█
█...█
.███.

.███.
█...█
█....
████.
█...█
█...█
.███.

█████
....█
....█
...█.
...█.
..█..
..█..

.███.
█...█
█...█
.███.
█...█
█...█
.███.

.███.
█...█
█...█
.████
....█
█...█
.███.

```

*(This font and this page will probably look better if you run this JavaScipt code in your browsers console or in the URL bar prefixed by `javascript:`: `$('#question pre,.answer pre').css('line-height',1)`.)*

Write two equal sized rectangular blocks of text, one to represent the empty spaces (`.`) in the font above, and one to represent the filled spaces ().

When these two text blocks are arranged into the same 5×7 pattern as one of the digits above, then the resulting large text block should be a program that prints that digit to stdout. This should work for all 10 digits.

For example, if your `.` text block was

```
---
'''

```

and your  text block was

```
ABC
123

```

then the program

```
---ABCABCABC---
'''123123123'''
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
ABC---------ABC
123'''''''''123
---ABCABCABC---
'''123123123'''

```

should output `0`. Similarly, the program

```
------ABC------
''''''123''''''
ABCABCABC------
123123123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
------ABC------
''''''123''''''
ABCABCABCABCABC
123123123123123

```

should output `1`, and so on up to the program for `9`.

You can use this stack snippet to make the digit shaped programs:

```
<style>textarea{font-family:monospace;}</style><script>function go(){var t=parseInt(document.getElementById("digit").value[0]);if(isNaN(t))return void alert("Invalid digit.");for(var e=document.getElementById("empty").value.split("\n"),n=document.getElementById("filled").value.split("\n"),l=[],o=0;o<7*e.length;o++){l[o]="";for(var d=0;5>d;d++)l[o]+=font[t][Math.floor(o/e.length)][d]?n[o%n.length]:e[o%e.length]}document.getElementById("output").value=l.join("\n")}font=[[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,0,1,0,0],[1,1,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[0,0,1,0,0],[1,1,1,1,1]],[[0,1,1,1,0],[1,0,0,0,1],[0,0,0,0,1],[0,0,0,1,0],[0,0,1,0,0],[0,1,0,0,0],[1,1,1,1,1]],[[0,1,1,1,0],[1,0,0,0,1],[0,0,0,0,1],[0,0,1,1,0],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[1,0,0,1,0],[1,0,0,1,0],[1,0,0,1,0],[1,1,1,1,1],[0,0,0,1,0],[0,0,0,1,0],[0,0,0,1,0]],[[1,1,1,1,1],[1,0,0,0,0],[1,0,0,0,0],[0,1,1,1,0],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,0],[1,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[1,1,1,1,1],[0,0,0,0,1],[0,0,0,0,1],[0,0,0,1,0],[0,0,0,1,0],[0,0,1,0,0],[0,0,1,0,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]],[[0,1,1,1,0],[1,0,0,0,1],[1,0,0,0,1],[0,1,1,1,1],[0,0,0,0,1],[1,0,0,0,1],[0,1,1,1,0]]]</script><textarea id='empty' rows='8' cols='32' placeholder='empty space text block...'></textarea><textarea id='filled' rows='8' cols='32' placeholder='filled space text block...'></textarea><br>Digit <input id='digit' type='text' value='0'> <button type='button' onclick='go()'>Generate</button><br><br><textarea id='output' rows='16' cols='64' placeholder='output...' style='background-color: #eee;' readonly></textarea>
```

# Details

* None of the 10 large text block programs should require input. Only output the single digit plus an optional trailing newline. Output to stdout or a similar alternative.
* None of the programs may read or access their own source code. Treat this like a strict quine challenge.
* The text blocks may not be identical and must have nonzero dimensions.
* The text blocks may contain any characters except line terminators.
* The 10 programs must be full-fledged programs written in the same language, they are not REPL snippets. You may optionally add a trailing newline to all of them or none of them.

# Scoring

Your score is the area (width times height) of one of your text blocks. (They are the same size so there's no point in counting both blocks.) The area of the example is 3 by 2, for a score of 6.

The lowest score wins. In case of ties, the highest-voted answer wins.

# Answer
> 13 votes
# CJam, ~~20~~ ~~18~~ ~~14~~ ~~13~~ 12 * 1 = 12

Try it online: , , , , , , , , ,

**Empty block**

```
];BG*K+ :BD%

```

**Solid block**

```
];B9+33%:B4/

```

### Explanation

I used a similar strategy to Sp3000's solution, such that each block performs a multiplication, an addition, and (possibly) a modulo operation on a variable and saves the value back. To find an optimal solution, I used good old brute force. I wrote a program that searches the space of all possible initial values (the initial values of CJam variables) and many millions of possible pairs of transformation functions such that the output for every digit form is unique. Then, I filtered the results for ones such that the final result for digit forms ending in an empty block, of which there are 8, can be mapped back to the correct result via another multiply, add, and modulo formula.

After a couple of days of CPU time of searching, the best result so far is down to a size of 12! This solution starts with a value of `11`, the empty block transformation function is `x * 16 + 20`, the empty block result function is `x % 13`, the solid block transformation function is `(x + 9) % 33`, and the solid block result function is `x / 4`.

# Answer
> 28 votes
# \>\<\> (Fish), 5 * 10 = 50

## Empty block

```
   \   !9
4n;    n/
1n;\
       \
0n;n7\\\

```

## Solid block

```
   \; n8/
     /!/!v
     \  ;6
3n;\ ! /nn
2n;n5<  8;

```

This code contains **no logic or arithmetic** only uses static redirections of \>\<\>'s 2D instruction pointer (IP) with 'mirrors' (`/` and `\`) and two 'arrows' (`<` and `v`). The only other flow-controller is the 'trampoline' (`!`) which jumps through the next character.

The IP starts from the top left corner heading East. After some redirections it reaches a number it is pushed onto the stack and printed out with `n` and the program terminates with `;`.

## The program flow

A block 'recognizes' the current state of the program from the fact that which point the IP came in and based on the state it decides which direction should it to let out the pointer (which block should be executed next) and in which exact position the pointer should left (which will be the new state). Of course the blocks don't do any logic all this behavior comes from the redirectors.

# Answer
> 11 votes
# CJam, ~~23~~ ~~22~~ 19 * 1 = 19

**Empty block:**

```
];G)B%:G"73860594"=

```

**Solid block:**

```
];GW*B+3*D%:G    7-

```

Try it online.

I'm trying to get lucky with mathematical coincidences and failing, so here's a slightly different approach to uniqueness mapping from Martin's solution.

Start with 16. Empty blocks add 1 and take modulo 11. Solid blocks multiply by -1, add 11, multiply by 3 then take modulo 13. This magically maps `03456789` (the digits which end on an empty block) to `41753026`, which we use indexing to get right. `12` maps neatly to `89`, which we can remedy by subtracting 7.

# Answer
> 8 votes
# CJam, ~~28~~ 27 x 1 = 27

Here is a start.

**Empty block**

```
U):U;

```

**Solid block**

```
];U):UW+:WF%"1302986_7_54"=

```

Test it here. I can't give you a permalink with the code, because the code is too long, so you'll have to copy it in manually from the snippet in the challenge.

The idea is to hash the shape as follows:

* For each "pixel" increment a counter `U`.
* For each black "pixel" add `U` to a running total `W` (which starts at `-1`). At the end, we take this modulo `15`, which happens to give unique results, which use to index into a lookup string.

# Answer
> 4 votes
# Zsh `-F`, 1 * 34 = 34

Empty block:

```
x+=0;X=5719060800034;(bye 2-x[2]);

```

Solid block:

```
x+=1;(bye X[1+0b$x%13]);
```

Outputs via exit code, which is the simplest way I could think of to get only the final block to output a value. `bye` exits with a status code, and `()` prevents the shell from actually exiting; it only sets the code, so the last value will be the exit code of the whole shell.

Each block also appends either `0` or `1` to a string `x`; If the last block is solid (only the case for 1 and 2), the output is 2 - (the second digit of `x`). If the last block is empty, then `0b$x` converts `x` from binary, `%13` takes it modulo thirteen, and then that is indexed into the string `X` which is initialised earlier, to choose the correct output code.

Attempt This Online:

Here's the code for 5:

```
x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);
x+=0;X=5719060800034;(bye 2-x[2]);x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);
x+=0;X=5719060800034;(bye 2-x[2]);x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);
x+=1;(bye X[1+0b$x%13]);          x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=1;(bye X[1+0b$x%13]);
x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=0;X=5719060800034;(bye 2-x[2]);
x+=0;X=5719060800034;(bye 2-x[2]);x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=1;(bye X[1+0b$x%13]);          x+=0;X=5719060800034;(bye 2-x[2]);
x+=1;(bye X[1+0b$x%13]);          x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=0;X=5719060800034;(bye 2-x[2]);x+=1;(bye X[1+0b$x%13]);

```

Each block, read left-to-right, constructs the string `00000011110111110001111100111010001`, which is 519633361 in binary. This modulo 13 is 0, and then the 1+0'th character of `X` (`5719060800034`) is 5, so that's the exit code.

# Answer
> 0 votes
# Python 3, 73 bytes

## empty code:

```
a,b=id and(0,1)or(2*a+0,b+1);id=b>34and print(b'XH"V;G F@D'.index(a%91));

```

Try it online!

## solid code:

```
a,b=id and(1,1)or(2*a+1,b+1);id=b>34and print(b'XH"V;G F@D'.index(a%91));

```

Try it online!

both code contains unprintable chars

## How it works:

* on the first occurence of either empty or solid: as `id` is a python built-in, it is evaluated as `True` so `id and <first> or <second>` will evaluate `<first>` which initialise `a` and `b`. Then `id` is set to `0`
* `a` is the binary representation of the code with `0` for empty and `1` for solid
* `b` is the number of bloc executed.
* when b is equal to `35` (last bloc) it prints the result.
* `print(b'XH"V;G F@D'.index(a%91))` prints the index of the char whose codepoint is equal to `a%91` (which is the right result)

---
Tags: code-golf, source-layout
---


title: DVORAK Keyboard layout

text:
# Question
Title: DVORAK Keyboard layout
Here's an interesting challenge...

I want you to golf code that when executed will allow your input to be converted to mimic output as though you were typing on a DVORAK keyboard layout.

The aim is to mimic the US Simplified Dvorak Keyboard (US:SDK)

In comparison, here is the standard US QWERTY layout:

The keyboard emulation must work for both uppercase and lower case letters as well as shifted keys, for example, if I tapped the `q` (unshifted) key on my keyboard, the Dvorak code should pop out a `'` character on the screen. If I were to tap the `c` (unshifted) button I should get a `j` (also unshifted) in response, `C` (shifted) would get `J` (shifted) and so on...

I am only concentrating of course on the white keys in the diagram above. Tabs, Caps and the other grey keys should work as per normal...

Any questions? Not for now? Good...

I will not allow external resources that already have the layout encoded already, I will not have any files brought in that can encode the layout. The code MUST be `QWERTY INPUT -> (DVORAK RE-CODING) -> DVORAK OUTPUT` in nature. No silly Esolangs that are theoretical or just say something like "This program will take QWERTY input and recode it in DVORAK. This is the program." or crap like that... Take this challenge seriously... So Brainfuck coders, I welcome you.

Please note, this is NOT a string conversion program. For every QWERTY key you press, the corresponding DVORAK character must be outputted...

Shortest code wins...

# Answer
### Shell: Unix tr(1), 94

```
tr \''"+-/:-[]_b-{}' "-_}w[vzSsW]VZ@AXJE>UIDCHTNMBRL\"POYGK<QF:/={xje.uidchtnmbrl'poygk,qf;?+"

```

This command takes QWERTY on stdin and outputs DVORAK on stdout.
> 7 votes

# Answer
# C - 144 characters

```
main(c){putch((c=getch())>33?c:"_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL\"POYGK<QF:/\\
=^{`axje.uidchtnmbrl'poygk,qf?|+~"[c-34]);main(0);}

```
> 8 votes

# Answer
## C#, 360 characters

Probably not the shortest, but it does exactly what you ask:

```
using System;class A{static void Main(){string[] q={"-=qwertyuiop[]sdfghjkl;'zxcvbnm,./","_+QWERTYUIOP{}SDFGHJKL:\"ZXCVBNM<>?","[]',.pyfgcrl/=oeuidhtns-;qjkxbmwvz","{}\"<>PYFGCRL?+OEUIDHTNS_:QJKXBMWVZ"};while(true){var c=Console.ReadKey(true);var a=c.KeyChar;int i,w=c.Modifiers==ConsoleModifiers.Shift?1:0;Console.Write((i=q[w].IndexOf(a))>-1?q[w+2][i]:a);}}}

```

If you press a key on your QWERTY keyboard, then the correct DVORAK character appears in the console.
> 4 votes

# Answer
# AutoHotKey, 200 bytes

```
-::[
=::]
q::'
w::,
e::.
r::p
t::y
y::f
u::g
i::c
o::r
p::l
[::/
]::=
s::o
d::e
f::u
g::i
h::d
j::h
k::t
l::n
`;::s
'::-
z::`;
x::q
c::j
v::k
b::x
n::b
,::w
.::v
/::z

```

There should be an answer in AHK for this question but not. So just post one.
> 3 votes

# Answer
# , 157 bytes

Simple translate script.

```
chartr('\'qQwWeErRtTyYuUiIoOpP[{]}sSdDfFgGhHjJkKlL;:"zZxXcCvVbBnN,<.>/?=_+-','-\'",<.>pPyYfFgGcCrRlL/?=+oOeEuUiIdDhHtTnNsS_;:qQjJkKxXbBwWvVzZ{]}[',scan(,''))

```

Try it online!
> 1 votes

# Answer
# Python, 181 bytes

```
print(input().translate(str.maketrans("'qQwWeErRtTyYuUiIoOpP[{]}sSdDfFgGhHjJkKlL;:\"zZxXcCvVbBnN,<.>/?=_+-","-'\",<.>pPyYfFgGcCrRlL/?=+oOeEuUiIdDhHtTnNsS_;:qQjJkKxXbBwWvVzZ{]}[")))

```

This code takes QWERTY on stdin and outputs DVORAK on stdout.

It does this by creating a translation table from qwerty to dvorak then translates stdin with `input()` using that translation table

A cleaner representation

```
print(
    input().translate(
        str.maketrans(
            "'qQwWeErRtTyYuUiIoOpP[{]}sSdDfFgGhHjJkKlL;:\"zZxXcCvVbBnN,<.>/?=_+-",
            "-'\",<.>pPyYfFgGcCrRlL/?=+oOeEuUiIdDhHtTnNsS_;:qQjJkKxXbBwWvVzZ{]}[",
        )
    )
)

```

Try it online!
> 0 votes

---
Tags: code-golf, keyboard
---


title: Cops: The Hidden OEIS Substring

text:
# Question
Title: Cops: The Hidden OEIS Substring
This is a Cops and Robbers challenge. This is the cop's thread. The robber's thread is here.

As a cop, you must pick any sequence from the OEIS, and write a program **p** that prints the first integer from that sequence. You must also find some string **s**. If you insert **s** somewhere into **p**, this program must print the second integer from the sequence. If you insert **s + s** into the same location in **p**, this program must print the third integer from the sequence. **s + s + s** in the same location will print the fourth, and so on and so forth. Here's an example:

> # Python 3, sequence A000027
>
> ```
> print(1)
>
> ```
>
> The hidden string is **two bytes**.

The string is `+1`, because the program `print(1+1)` will print the second integer in A000027, the program `print(1+1+1)` will print the third integer, etc.

Cops must reveal the sequence, the original program **p**, and the length of the hidden string **s**. Robbers crack a submission by finding any string *up to* that length and the location to insert it to create the sequence. The string does not need to match the intended solution to be a valid crack, nor does the location it's inserted at.

## Rules

* Your solution must work for any number in the sequence, or at least until a reasonable limit where it fails do to memory restrictions, integer/stack overflow, etc.
* The winning robber is the user who cracks the most submissions, with the tiebreaker being who reached that number of cracks first.
* The winning cop is the cop with the shortest string **s** that isn't cracked. Tiebreaker is the shortest **p**. If there are no uncracked submissions, the cop who had a solution uncracked for longest wins.
* To be declared safe, your solution must stay uncracked for 1 week and then have the hidden string (and location to insert it) revealed.
* **s** may not be nested, it must concatenated end to end. For example, if **s** was `10`, each iteration would go `10, 1010, 101010, 10101010...` rather than `10, 1100, 111000, 11110000...`
* It is acceptable to start on the second term of the sequence rather than the first.
* If your sequence has a finite number of terms, going past the last term is allowed to result in undefined behavior.
* All cryptographic solutions (for example, checking the hash of the substring) are banned.
* If **s** contains any non-ASCII characters, you must also specify the encoding being used.

# Answer
# MATL, sequence A005206. Cracked by SamYonnou

```
voOdoO

```

Try it online!

The hidden string has **8 bytes**.
> 21 votes

# Answer
# Python 2, sequence A138147 (cracked)

```
print 10

```

Try it online!

The hidden string is **7 bytes**. The sequence goes:

```
10, 1100, 111000, 11110000, 1111100000, ...

```
> 9 votes

# Answer
## Keg, sequence A000045

```
0.

```

The hidden string is ≤*6 bytes*(in order to conform the updated cracking rules)
> 7 votes

# Answer
# Cracked

# ~~Brain-Flak, sequence A000290 (Square numbers)~~

```
((()))({}<>)

```

Try it online!

The hidden string is **6 bytes**.

### Fun fact:

I "discovered" this property while playing this brain-flak based game. The hidden string was a randomly generated item that I discovered was very useful.
> 5 votes

# Answer
# Pyret, sequence A083420, Cracked

```
fold({(b,e):(2 * b) + 1},1,[list: ])

```

The hidden string has **4 bytes** or fewer.
> 5 votes

# Answer
# , sequence A000290. Cracked by Cows quack

```
é*Ø.

```

Try it online!

The hidden string is **5 bytes**.
> 5 votes

# Answer
# Java 8+, sequence A010686 (cracked by xnor)

Lambda function.

```
()->System.out.println(1);

```

The hidden string is ≤ 5 bytes
> 5 votes

# Answer
## Python 3, sequence A096582

This is really trivial, as I haven't tried Cops and Robbers challenges before.

```
print(100)

```

The hidden string is *3 bytes.*
> 4 votes

# Answer
# Python 3, sequence A014092 \- (cracked)

```
from sympy import isprime, primerange
from itertools import count
r=1
print(r)

```

Try it online!

The hidden sequence is **82 bytes**.

My intended code (which doesn't rely on the Goldbach Conjecture) was:

```
i=(n for n in count(2)if all(not isprime(n-x) for x in primerange(1,n)))
r=next(i)
#

```

**Cracked** by NieDzejkob, who uses the Goldbach Conjecture to solve it in a magical 42 characters. Great job!
> 4 votes

# Answer
# Forth (gforth), A000042 \- (cracked)

```
1 .

```

Try it online!

The hidden sequence is **5 bytes**, and it can easily handle hundreds of terms.

A one-byte solution that breaks due to integer overflow is also possible. In fact, I'd say it is embarrassingly trivial. While the challenge text, under some interpretations, might allow you to call that a crack, I urge you not to.
> 4 votes

# Answer
## Desktop Calculator, sequence A006125

```
1n

```

The hidden string *≤ 12 bytes*.
> 3 votes

# Answer
# Brain-Flak, sequence A000984 (central binomial coefficients)

```
(())({{}}{})

```

Try it online!

The hidden string has **36 bytes** or fewer.
> 3 votes

# Answer
# Python 3, A268575

```
from itertools import product
S,F,D=lambda*x:tuple(map(sum,zip(*x))),lambda f,s:(v for x in s for v in f(x)),lambda s:{(c-48>>4,c&15)for c in map(ord,s)}
W=D("6@AQUVW")
print(len(W))

```

Try it online!

The hidden sequence is **102 bytes.**
> 3 votes

# Answer
# AsciiDots, 36 bytes, A019523

```
/>1#*$_#\
*^-{+})./
|/\/\/\
\/\/\/\&

```

Try it online!

The hidden string has **12 bytes**.
> 3 votes

# Answer
# Haskell, sequence A083318 (cracked)

```
f=length[2]

```

Try it online!

The hidden string is **5 bytes**. The sequence goes:

```
1, 3, 5, 9, 17, 33, 65, 129, 257, 513, ...

```
> 3 votes

# Answer
# VDM-SL, sequence A000312

```
let m={1|->{0}}in hd reverse[x**x|x in set m(1)&x<card m(1)]

```

The hidden string has **33 bytes** or fewer
> 2 votes

# Answer
# Cracked

# ~~cQuents, sequence A003617~~

```
=1#2:pZ

```

Try it online!

The hidden string is **1 byte**.
> 2 votes

# Answer
# Brain-Flak, sequence A000578 (Cube numbers)

```
((())<>)

```

Try it online!

The hidden string is **16 bytes**
> 2 votes

# Answer
# Java 8+, 1044 bytes, sequence A008008 (Safe)

```
class c{long[]u={1,4,11,21,35,52,74,102,136,172,212,257,306,354,400,445,488,529,563,587,595,592,584,575,558,530,482,421,354,292,232,164,85,0,-85,-164,-232,-292,-354,-421,-482,-530,-558,-575,-584,-592,-595,-587,-563,-529,-488,-445,-400,-354,-306,-257,-212,-172,-136,-102,-74,-52,-35,-21,-11,-4,-1},v={0,0,0,0,0,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,-1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,-1,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,0,1},w={1,0,0,-1,5};long d=1,e=1;void f(long a,long b){long[]U=u,V=v,W,X;while(a-->0){U=g(U);w=h(v,w);}W=h(v,U);while(b-->0){V=g(V);v=h(v,v);}X=h(V,u);if(w[0]!=v[0]){int i,j,k=0;u=new long[i=(i=W.length)>(j=X.length)?i:j];for(;k<i;k++)u[k]=(k<i?W[k]:0)-(k<j?X[k]:0);d*=e++;}}long[]g(long[]y){int s=y.length,i=1;long[]Y=new long[s-1];for(;i<s;){Y[i-1]=y[i]*i++;}return Y;}long[]h(long[]x,long[]y){int q=x.length,r=y.length,i=0,j;long[]z=new long[q+r-1];for(;i<q;i++)if(x[i]!=0)for(j=0;j<r;)z[i+j]+=x[i]*y[j++];return z;}c(){f(3,0);System.out.println(u[0]/d);}public static void main(String[]args){new c();}}

```

Try it online!

Can be solved using a hidden string of size **12**. Can definitely be golfed more, but there is no way this is actually winning. I just wanted to contribute out of respect for the number 8008.

Note: before anyone complains that the sequence is hard-coded, I've tested this up to the first term that diverges from the hard-coding (13th term = 307) and it gets it correctly albeit slowly. This is also why it's using `long` instead of `int`, otherwise it overflows before that term.

**Update (Jul 12 2019)**: updated to be a bit more performant. Computes the 13th term in 30 seconds on my computer now instead of 5 minutes.

**Update (Jul 17 2019)**: fixed bugs in for loop bounds for the `g` function, and array length bounds in the bottom of the `f` function. These bugs should have eventually caused problems, but not early enough to get caught by just checking the output. In either case, since the presence of these bugs 5 days into the game might have confused some people enough into being unable to solve this puzzle, I am totally fine with extending the "safe" deadline until July 24th for this submission.

**Update (Jul 18 2019)**: After some testing I have confirmed that overflows start after the 4th term in the sequence and start affecting the validity of the output after the 19th term. Also in the program as it is written here, each consecutive term takes roughly 5 times longer than the previous to compute. The 15th term takes about 14 minutes on my computer. So actually computing the 19th term using the program as written would take over 6 days.

Also, here is the code with sane spacing/indentation so it is a bit easier to read if people don't have an IDE with auto-formatting on hand.

```
class c {

  long[] u = {1, 4, 11, 21, 35, 52, 74, 102, 136, 172, 212, 257, 306, 354, 400, 445, 488, 529, 563, 587, 595, 592, 584,
      575, 558, 530, 482, 421, 354, 292, 232, 164, 85, 0, -85, -164, -232, -292, -354, -421, -482, -530, -558, -575,
      -584, -592, -595, -587, -563, -529, -488, -445, -400, -354, -306, -257, -212, -172, -136, -102, -74, -52, -35,
      -21, -11, -4, -1},
      v = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
          0, 1, 0, 1, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
      w = {1, 0, 0, -1, 5};

  long d = 1, e = 1;

  void f(long a, long b) {
    long[] U = u, V = v, W, X;
    while (a-- > 0) {
      U = g(U);
      w = h(v, w);
    }
    W = h(v, U);
    while (b-- > 0) {
      V = g(V);
      v = h(v, v);
    }
    X = h(V, u);
    if (w[0] != v[0]) {
      int i, j, k = 0;
      u = new long[i = (i = W.length) > (j = X.length) ? i : j];
      for (; k < i; k++)
        u[k] = (k < i ? W[k] : 0) - (k < j ? X[k] : 0);
      d *= e++;
    }
  }

  long[] g(long[] y) {
    int s = y.length, i = 1;
    long[] Y = new long[s - 1];
    for (; i < s;) {
      Y[i - 1] = y[i] * i++;
    }
    return Y;
  }

  long[] h(long[] x, long[] y) {
    int q = x.length, r = y.length, i = 0, j;
    long[] z = new long[q + r - 1];
    for (; i < q; i++)
      if (x[i] != 0)
        for (j = 0; j < r;)
          z[i + j] += x[i] * y[j++];
    return z;
  }

  c() {
    f(3, 0);
    System.out.println(u[0] / d);
  }

  public static void main(String[] args) {
    new c();
  }
}

```

# Solution

> `f(1,v[0]=1);` right before the `System.out.println`
> The program works by computing the n'th Taylor expansion coefficient at 0. Where the original function is a quotient of polynomials, represented by `u` and `v` which I got from here, except that in the linked document the denominator is not multiplied out, and nowhere do they say that you have to compute the Taylor series, I stumbled on that by accident and then confirmed via another source.
> The calculation is done via repeated application of the quotient rule for derivatives.
> The incorrect first term of `v`, the entire array `w` and a few other things like the function `f` having any arguments are thrown in to mess with people.
> 2 votes

# Answer
# MATL, sequence A000796. Cracked by SamYonnou

```
'pi'td1_&:_1)Y$J)

```

Try it online!

The hidden string has **3 bytes**.
> 2 votes

# Answer
# Unefunge-98 (PyFunge), sequence A000108

```
1.@

```

Try it online!

The hidden sequence is **19 bytes**.
> 2 votes

# Answer
# Haskell, sequence A014675, cracked by nimi

```
main=print$uncurry(!!)([2],0)

```

Try it online!

The hidden sequence is **35 bytes**.

Here's my intended solution:

> ```
>  main=print$uncurry(!!)$((l:n)->(l>>=flip take[2,1],n+1))([2],0)
>                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ```
> 2 votes

# Answer
# Python 3, A008574, cracked by xnor

```
print(1)

```

Try it online!

Insert 4 bytes to complete A008574. A008574: a(0)=1, thereafter a(n) = 4n.
> 2 votes

# Answer
# Haskell, A000045 (Fibonacci) -- Cracked

```
f = head [0, 1]

```

I've got a solution with a whopping 23 bytes. I don't expect this to be safe for long, but it was super fun to come up with.

Solution:

> I thought Haskell would be a fun language to try this challenge with -- the natural thing is to do to end up adding a function call every time, but if the sequence can't be written recursively in terms of the last term only, you run into some trickiness with Haskell's strictness and function application.
> Khuldraeseth na'Barya found a super clever way to do this with an applicative functor. I did something much less brilliant, using where-hacking:
> `f = head [b,a+b]where[a,b]=[0,1]
>  ^^^^^^^^^^^^^^^^^^`
> (This is actually 18 bytes. My less-golfed 23 byte version, where I'd totally forgot about pattern matching, used `[last a,sum a]where a=` instead.)
> 2 votes

# Answer
# Brachylog, 7 bytes (Brachylog SBCS), A114018 (Cracked)

```
≜ṗ↔ṗb&w

```

Crack it online!

The string has 2 or fewer bytes.

> Fatalize's solution, `ẹb`, is the original string which I had intended. Note that `ẹk` also works, for the same reasons. In addition to the issue with `9001` beheading to `001`=`1`, it actually turns out that `b` on a number just won't fail, because all single digit numbers behead to `0`, including `0` itself.
> 1 votes

# Answer
# C# (.NET Core), A003678, 29727 bytes (Safe)

```
using System;using System.Linq;using System.CodeDom.Compiler;class P{static void Main(){Int32 z=0;\u0049nt32 T(\u0049nt32 i){i--;var \u0064="";for(;i>0;\u0069/=5)d=i%5+d;return d.Aggre\u0067a\u0074e(0,(a,b)=>a*5+b%48*2%5)+1;}System.D\u0069agn\u006fs\u0074ics.Pro\u0063ess.\u0053tart(CodeDo\u006dProvi\u0064er.\u0043reateP\u0072ovider("CSharp").Co\u006dpi\u006ceAssembly\u0046romSource(new Com\u0070ile\u0072P\u0061ra\u006det\u0065rs(new[]{"System.dll"}){GenerateExecutable=true,\u0047enerateI\u006e\u004de\u006dor\u0079=false,Out\u0070utAs\u0073\u0065m\u0062\u006cy="One.exe"},Stri\u006eg.Con\u0063at(@"5FKX4&4A@6W]4V0).7K]073W:J7`1G?V4H;T1*'V.VD).7K]073W:J7`1G?V4H;T1*'V.VD)8F'[4FOX3V/_.:0&?FK]:I?_2FL*?G?X?X\+1&8T:IDU0746;&\+?FTA3XL&3XL=B'L:8T\V*W3V5X[TB'L:8T[Y?6/T1*T-8X?A?6P_5H@:*ET&/ZT-8X?>)W3X4X0C.7DU2(\&3XL&9G0&*W3V5X[T1*T-8X?A*60I?G;V1FPU?V06:Z,S?X`C.7DU2(\_5H@:*J0&B'L:8T\V9G0=3T`'/WPA/6D_5H@:*DWVA&W^/U`_5H@:*DPV3Z+_?JT-8X??*67[4(0B/V;W:Y#P5*+_:G0&B'L:8TL=B'L:8TL=B'L:8TL=3XKB4&0.:F'[?60KB'L:8T[>4J#VB'L:8TT;=&0*0ZT-8X?A0J'a<J,)/T`B=(`G@V0*5FT'A&W^/T`'/WPA/6DTB'L:8T[>A*T-8X??.&OV@V/Y/VSV4*/V7W?`1V/[0H/H4*T-8X??*4L;;)#b.70&9HL=B'L:8T\V9H<J?FTU4F0_5H@:*$WV2&L9+:(T7W3V5X[T1*T-8X?A*60J?JT-8X??9*,_5H@:*J'V4V/_B'L:8TW@/Z0&?FTU4ZT-8X?A.*T-8X?A0G3U56O_B'L:8T[>B'L:8TS=1F7[4(0*26OV1&<6,:T-8X?A/W?=9)$G:WHB;)#P3ZT-8X?A?XL=B'L:8TL=3XL9+7@*B'L:8TT;0:$_5H@:*$P_5H@:*$WV1D`6=&0)?&/_+:T-8X??*7?_B'L:8T[OB'L:8T\;5G?V1I#=.70_5H@:*J0=9HL&9H<_5H@:)TL*?G?V4JT-8X?A)W4*1H;D?:T-8X?A*:T-8X?>9*,_5H@:*F/W/X0'/WPA/6DT/ZT-8X?>)G@U4V0)/W4*A:Ka4&0.:F'[?6/T1'4T07?X1'4X4Z,*/ZT-8X?A?60'4X0'/WPA/6DT/ZT-8X?@9*T-8X?A.'4_5H@:*HL_5H@:*(C`=6OV2*,*1*T-8X??9&,,1VSV1FKXB'L:8T[Y4(0'/WPA/6DT/U'_0*T-8X??)ZT-8X?A?60'4Z?V0JT-8X?A)VSVB'L:8T[VB'L:8T[=B'L:8T[>/GG^2&/]1F7[4(0B58`C<&(_5H@:*F<T/ZT-8X?@9&8'B'L:8T\=B'L:8TT;B'L:8TSO=6OV2*,*B'L:8T[Y2*D_5H@:*%S^/X<H/ZT-8X??)FL_5H@:)TWZ?G4G4&0.:JT-8X?@)FDT/ZT-8X?>8VSX4F8*07CV/GG^2&/]1JT-8X?A.&D'7XLC;)4'/WPA/6DTB'L:8T[>=&0*0VDT@V0_5H@:*$X-2*T-8X?A/Z8*?JT-8X??*60)/W4_5H@:*$X64&0.:F'[?60J2&8)07?X5&/U56O_/ZT-8X??)FKX1'468Y$C;)4'/WPA/6DT/YLU2*T-8X?A.*,SB'L:8T\V/U_VB'L:8T[=B'L:8T\VB'L:8T\=B'L:8TT;?G?X1'4X4Z,_5H@:*$WV4F0_5H@:*F0_5H@:*$X64VW^/VCY7ZT-8X?@.'4*)HDC<(`U:Y4'/WPA/6DT/Y?_07;X4V8+/ZT-8X?@)ZT-8X??-6O_/VL_5H@:*$KX1*T-8X?A/X0:;)$G4&0.:F'[?:T-8X?A)U8_5H@:*$WV2*,*06D'@:T-8X??*:T-8X?A9G?V4F0_5H@:*F0*7W3V5X[T1*(_5H@:*DPM?FSX?J$&/U_V?W0U2*,*06D'@7@UB'L:8TS@/ZT-8X?A?60'B'L:8TS@7W?`1V/[0H/H4*T-8X??*4L;;)4B4X`G4&0.:F'[?:T-8X?A)Y?_07<_5H@:*ET*07CVB'L:8TW>56O_B'L:8T[>1FKX1'469I$C<'3V5X[T1*'V.F8'B'L:8T\=2&X_5H@:*6;^/VTU4ZT-8X?A0FT_5H@:*4P,B'L:8TT:2&/]1F8_5H@:*F<'7W3V5X[T1*'VB'L:8TOA?JT-8X??9&8_5H@:*HL_5H@:*HD&/Z?V0F/_/W4V/V,,1VSV1FKX1'46:W@B;)3T1*T-8X?A*6/QB'L:8T[O4*+_2:T-8X?@0FOV2*,*1&T_5H@:)TW`1V09<:T-8X?A)VL_5H@:*$L[B'L:8T[L?G4LB'L:8TT;B'L:8TW>17L_5H@:*HL&<'3V5X[T1*'V=J,_5H@:*(CX?J$&/Z@_5H@:*DOY/VSV4*/VB'L:8TW>56O_/VK]0:T-8X?A0G46:WHB;)$G4&0.:F'[?60_5H@:*8K]1JT-8X?A.&4_5H@:*F0XB'L:8TS@?G?V4F0'4X0'/WPA/6DT/YLUB'L:8TT;0:,SB'L:8T\V/Z?V0F/_/W4V/V,,1VT_5H@:*DP_5H@:*$K]06D'7X`*:Y$G4&0.:F'[B'L:8T[@/ZT-8X?@9&8'?FS`=6P_5H@:*DO_?JT-8X??*6C_B'L:8TW>B'L:8TSL1VSV1JT-8X??)F8_5H@:*F<'7W3V5X[T1*T-8X?A*60M?FT_5H@:*ETU?'/VB'L:8TP;B'L:8T[>0F0_5H@:*(CV4*/V/GG^B'L:8TT;/ZT-8X??)FKX1'46:W@B;)4_5H@:*4K[?6/Q074U2*T-8X??.)G^/VTUB'L:8TS@1*T-8X??9*C`1V09B'L:8TX=B'L:8T[@?94'/WPA/6DT/Y@_5H@:*(CX4F8*07CV/GG^B'L:8TT;/VK]06D'7XLC;)$G4&0.:F'[?6/T1*T-8X?A/Z'X4V8_5H@:*F<'@7@U4V0)B'L:8T[>4'@64&0.:F'[?6/QB'L:8T[O4*T-8X?A9FT_5H@:*%TLB'L:8TT:/ZT-8X??9*,*1&SU56O_/ZT-8X??)FKX1'464&0.:F(_5H@:*F<T/U[XB'L:8T[VB'L:8T\=2&XLB'L:8TT:/VTU4VC_B'L:8TW>56O_/VK]06D'7W3V5X[T1*'VB'L:8TX;074U2*T-8X??.)H_5H@:*(@_5H@:*DO_?G@_5H@:*F;_/GG^2&0_5H@:*$K]0:T-8X?A0G464&0.:F(_5H@:*F<T/YD_5H@:*DP_5H@:*$WZB'L:8T[Y?58'B'L:8TSA1'7V/JT-8X??-6P_5H@:*(CV1FL_5H@:*ES[4(0'/WPA/:T-8X?A0J'VB'L:8TXT/W?Z1*T-8X?A*:T-8X?>9&/Y/VSV4*/V/GH_5H@:*(?_B'L:8T[>1FKXB'L:8T[Y4(0'/WPA/6DT/ZC`B'L:8TT:/Z?V0F/_/W4VB'L:8T[>/GG^2&/]1JT-8X?A.*T-8X?A0G46:Z7`1G?V4H<K?G?Z:Y$G:Y7[0(`C<'3V5X[T1*'V+6SWB'L:8TS>4F0'4Z@_5H@:*DOY/VT_5H@:*DP'?ZT-8X?A)V,,1VSVB'L:8TS=B'L:8TS=06D'7X`*:Y$G4&0.:F'[?60J2*T-8X?A.'<_5H@:*ET*07CV/GH_5H@:*(?_B'L:8T[>B'L:8TS=1F8_5H@:*F<'7TLC;)3T1*'V.F8'?FS`B'L:8TWY1V0_5H@:*(DU4VC_A&W^/X<K1*T-8X?A*7L_5H@:*J0-1I4'/WPA/6DT/Y@_5H@:*(D_5H@:*ET)0:T-8X??*68+/ZT-8X?@)ZT-8X??-6O_B'L:8T[>B'L:8TS=B'L:8TS=0:T-8X?A0G469I$C<*T-8X?@)JT-8X?A0JT-8X?A*6/Q074U2&XL1V/_B'L:8T\=B'L:8TS@1&T[26OV8JT-8X?@.*'V4'@_5H@:*ET*B'L:8TSO/FH-B'L:8T\=3V8*B'L:8TSO<'3V5X[TB'L:8T[Y?60J2&8)07?XB'L:8TSAB'L:8T[>/GG^B'L:8TT;/ZT-8X??)FKX1'468Y$C<&'[?60_5H@:*8CX4*+_29G^/ZT-8X??9*,*1&T[26P_5H@:*DP9.JT-8X?A0FD&/ZT-8X?A9JT-8X?A/U('?94'/WPAB'L:8TW=1*'V.JT-8X?A.'4U2&X_5H@:*6;^/VT_5H@:*HL*B'L:8T[YB'L:8TT;/JT-8X??-6O_/ZT-8X??)JT-8X??)F8_5H@:*F<'7W3V5X[T1*'V.JT-8X?A.'4_5H@:*HL_5H@:*(C`=:T-8X??8V/_?G@_5H@:*F;_/GG^2&/]1F7[4(0'/WPA/6DT/ZT-8X?>*JT-8X?A9FSX?J$&/Z@_5H@:*DOY/VSVB'L:8T[V?V/UB'L:8TSL1VSV1FKX1*T-8X?A/X0B58`C<&(_5H@:*F<T/U\_5H@:*ET'B'L:8T\=2*T-8X??.)G^/VTU4ZT-8X?A0FT_5H@:)TX_5H@:*%S^/X<KB'L:8T[Y?7L_5H@:*J0_5H@:*$O]<'3V5X[T1*'V=J,_5H@:*(D_5H@:*ETU?'/V@V/YB'L:8T[>2&0'?V/U56O_/VK]06D'7X`*:Y$C<*T-8X?@)FDT/U[X4*,_5H@:*(C`=6OV2*,*1&T_5H@:)TW`B'L:8TT:/X;HB'L:8T[@/W4_5H@:*$X_5H@:*ET_5H@:*$W`/JT-8X??9JT-8X??)ZT-8X?A9G/XB'L:8TS@294'/WPAB'L:8TW=1*'V<VSX4F8*0:T-8X??*JT-8X?A)V,,1ZT-8X??9&/]1F7[B'L:8T[V7X@C;)$G4&0.:F'[?6/D1FL_5H@:*ESW4*8_5H@:*$XU4V0)B'L:8T[>4'@64&0.:F'[?:T-8X?A)ZT-8X?>*J+_0:,S3V0_5H@:)XCV0JT-8X?A)VSVB'L:8T[VB'L:8T[=/V,,1VSV1FKX1'46:Z,B;)4'/WPA/:T-8X?A0J'V=J+_0:,S3V0Z/V;V2&0'?V0_5H@:*4P,1VT_5H@:*DO]1F7[4(0B4X`C;)$C<'3V5X\_5H@:*4K[?60M?JT-8X??9*T-8X?A.*T-8X?A9JT-8X?A9'/V.ZT-8X?A)Z0&?JT-8X??9*,*0:T-8X?A0JT-8X?A/Z8*?G?V4F0'B'L:8TS@7W?`1V/[0H/H4'?=9)$G:Z(U1H`G4&0.:F'[?:T-8X?A)YLU2&8U?'/V@V0_5H@:*D[V2&0_5H@:*F0V/V,,1VSV1FKXB'L:8T[Y4(0B58`C;)4'/WPA/:T-8X?A0J'VB'L:8TWOB'L:8TS@/VTU4ZT-8X?A.*T-8X?A0G4X4Z,*B'L:8T[>4F0'B'L:8TS@7W3V5X\_5H@:*4K[?60_5H@:*8K]1JT-8X?A.&4_5H@:*F0X4Z,*/W;V4'@64&0.:F'[?60M?FSX?J$&/ZT-8X?>9&/YB'L:8T[>2&0'?ZT-8X?A)V,,1ZT-8X??9&/]1JT-8X?A.&D'7X`T?FLB;)4'/WPAB'L:8TW=1*T-8X?A*60M?FT_5H@:*ETU?'/V@V0_5H@:*D\_5H@:*DO_B'L:8T[>4*/VB'L:8TW>56P_5H@:*(D_5H@:*DO]1F7[4(0B?:+]:Y$C<'3V5X[T1*T-8X?A*60_5H@:*8D_5H@:*ET'B'L:8T\=2&XLB'L:8TT:/ZT-8X??9*,_5H@:*$W[2&,,1VSV1JT-8X??)JT-8X?A.&D'7W3V5X[T1*'VB'L:8TX;0:T-8X?A/Z+_B'L:8TSOB'L:8TWYB'L:8TT:B'L:8T[>2*,*1*T-8X??9&,,1VSV1FKX1'464&0.:F'[?:T-8X?A)YLU2&8U?'/VB'L:8TP;/V;V2&0'B'L:8T[=/V,,1VSV1FKXB'L:8T[Y4(0B?:+]:Y$G/6DT/U[X4*+_29G^B'L:8T[>2*,*1*T-8X??9*C`1ZT-8X?A)X<K1*(_5H@:*$P&5FLG4&0.:F'[?60J2&8)07?X5&/U56P_5H@:*(CV1JT-8X??)F7[4(/=;)$G/6D_5H@:*DWV.F8'?FS`=:T-8X??8V/_B'L:8T\=4VC_A&W^/X;H?:T-8X?A)ZT-8X?A/W?X4ZT-8X??.&+\5J,&07?`<'3V5X[TB'L:8T[YB'L:8T[@B'L:8T[><VSX4JT-8X?A.'?XB'L:8TSAB'L:8T[>/GG^2&/]1JT-8X?A.&D'7X@C;)4'/WPA/6DT/ZT-8X?@9FK]B'L:8T[O0'4X4Z,*/W;V4'@64&0.:F(_5H@:*F<T/ZT-8X?>*J+_0:,_5H@:*HD&/Z@_5H@:*DOY/VSVB'L:8T[V?V/U56O_/VK]0:T-8X?A0G46:Z(U1H`C<'3V5X[T1*'V.F8'?FS`=6OV2*,_5H@:*$W[2&,_5H@:*%G^2&/]B'L:8TS=06D'7W3V5X[TB'L:8T[Y?:T-8X?A)YLUB'L:8TT;0:,S3V0Z/V;V2*T-8X?A)W4_5H@:*DKV/GG^2&/]1F8_5H@:*F<'7X`T?FLB;)3T1*(_5H@:*DOQ074U2&XL1V/_B'L:8T\=4VC_B'L:8TO@2:T-8X??8V09.V8+B'L:8T[O?60G4&0.:F'[?:T-8X?A)Y?_07;X4ZT-8X?A.'CV/GG^B'L:8TT;B'L:8T[>1FKX1'46)I$C;)$G4&0.:F'[B'L:8T[@/YLU2&8U?*T-8X?A?V/R/Z0&?FTUB'L:8TS@06D'@7@U4V0)/ZT-8X?A/W@64VW^/VCY7U8'4TL;;)4B?8`G4&0.:F'[?60J2&8)07?X5&/U56O_/VL_5H@:*$KX1'468Y$C<'3V5X[T1*T-8X?A*60MB'L:8T\=2&8_5H@:*HLS3V/R/Z0_5H@:*J0_5H@:*HK_B'L:8T\=4ZT-8X?A.*T-8X?A0JT-8X?A/Z8*B'L:8T\=4V0_5H@:*J'V4'@64VW^/VCY7U8'4TL;;)4B48`G4&0.:F(_5H@:*F<T/ZT-8X?>*J+_0:,S3V0Z/V;V2&0'?V/U5:T-8X??8VSV1JT-8X??)F7[4(0B?:+]:Y$C<'3V5X[T1*'VB'L:8TOA?FSX?J$&/U_V?W0UB'L:8TT;?JT-8X??*:T-8X?A.&D'@:T-8X??*:,_5H@:*$WV4JT-8X?A)W4*7W?`1V/[0H0_5H@:)TL*2&8'B'L:8T[?;)4B1X`G4&0.:F'[?60_5H@:)X?_07;X4V8+B'L:8T[>B'L:8TW>5:T-8X??8VSV1FL_5H@:*ES[4(0B:Y$C<'3V5X\_5H@:*4L_5H@:*F<TB'L:8T[>,7?V2*,*B'L:8T[O1'4_5H@:)TL_5H@:*$XU4V0)/W4*7W3V5X[T1*'VB'L:8TX=1FL_5H@:*ESW4*8*?G?V4F0_5H@:*F0*7W3V5X\_5H@:*4K[?60M?FSX?J$&/Z@_5H@:*DP_5H@:*D[V2&0'?V/U56P_5H@:*(CV1FKX1'46:Z(U1H`C<'3V5X[T1*'VB'L:8TOA?FSXB'L:8T\=?*T-8X?A?V0Z/ZT-8X?A*F/_/W4VB'L:8T[>/GG^2*T-8X?A)VK]B'L:8T[O1'46:Z(U1H`C;)4'/WPAB'L:8TW=1*(_5H@:*DOQ074_5H@:*HK_29G^/VTUB'L:8TS@1*T-8X??9*T-8X?@)ZT-8X??-6O_B'L:8T[>1FKXB'L:8T[Y4(0'/WPA/6D_5H@:*DWV=J,_5H@:*(CX?J$&/Z?V0JT-8X?A)ZT-8X??9&0'B'L:8T[=/ZT-8X?@)WG^2*T-8X?A)ZT-8X??)JT-8X??)F7[B'L:8T[V7X`(:Y$GB'L:8TW=1*(_5H@:*DOQ074U2&XLB'L:8TT:/VTU4VD_5H@:*(D_5H@:)TW`1V09,&SV?G?V2*CZ?G4G4&0.:F'[B'L:8T[@B'L:8T[><ZT-8X??9&8)B'L:8T[O4V8+/V,,1VSV1FKX1'468Y$C<'3V5X[T1*T-8X?A*:T-8X?A)U']1JT-8X?A.&4'@7@_5H@:*HL*/W<_5H@:*DP'4X0'/WPAB'L:8TW=1*'VB'L:8TOAB'L:8T\=2*T-8X?A.*,SB'L:8T\VB'L:8T[>@V/Y/VSV4*T-8X?A)F/U56O_/VK]06D'7X`(:Y$G4&0.:F(_5H@:*F<T/U\_5H@:*ET'B'L:8T\=B'L:8TT;29G^B'L:8T[>2*,*1&SU56O_/VK]06D'7W3V5X[T1*'V=J+_0:,_5H@:*HD&/ZT-8X?>9&/Y/VSV4*/V/GG^2*T-8X?A)VK]0:T-8X?A0G46:W8B;)3T1*T-8X?A*6/QB'L:8T[O4*+_29G^/ZT-8X??9*,*1&T[26OV8JT-8X?@*68+B'L:8T[O?60G4&0.:JT-8X?@)JT-8X?A0J'V<ZT-8X??9&8)07?X5&/U5:T-8X??8VSV1FL_5H@:*ES[4(/=;)$C<'3V5X[T1*'V+6K]0:T-8X?A*'4_5H@:)TL_5H@:*$XU4V0_5H@:*J'V4'@64&0.:F'[?60MB'L:8T\=2*T-8X?A.*,S3V0Z/V;V2*T-8X?A)ZT-8X?A/Z/V/GH_5H@:*(?_/VK]06D'7X_^:Y$G4&0.:F'[?6/Q0:T-8X?A/ZT-8X?A9FT_5H@:*%TL1V/_?G?[B'L:8TT;/GH_5H@:*(?_/VK]06D'7W3V5X[T1*'V.F8'B'L:8T\=B'L:8TT;29G^/VTU4ZT-8X?A0FSUB'L:8TSLB'L:8TT:2&/]1F7[4(0'/WPA/:T-8X?A0J'VB'L:8TOA?FSXB'L:8T\=?'/V@V/Y/VT_5H@:*DP_5H@:*F0_5H@:*DKV/GG^2*T-8X?A)VK]0:T-8X?A0G46:W8B;)3T1*(_5H@:*DOQ074U2&X_5H@:*6;^/VTU4VC_A&W^/X<K1*T-8X?A*7L&5FLG4&0.:F'[?60J2&8_5H@:*J'X4V8_5H@:*$[V/GG^B'L:8TT;/VK]0:T-8X?A0G46)I$C<&(_5H@:*F<T/U[XB'L:8T[VB'L:8T\=2&XL1V/_?G?[2*C`1V09+:(_5H@:*DXG4&0.:F'[?60M?FSX?J$&/Z?V0F/_B'L:8T[>B'L:8T[V?V0_5H@:*4P,1VT_5H@:*DO]1F8_5H@:*F<'7X_^:Y$C;)$G4&0.:F'[B'L:8T[@/U(_5H@:*$K]B'L:8T[O0'4X4ZT-8X?A9JT-8X??*:T-8X?A)W<_5H@:*DP'4X0'/WPA/6DT/YLU2&8U?'0_5H@:*DPZ/V;V2&0'?V/UB'L:8TSL1VSV1FKX1*T-8X?A/X0B1X`C<'3V5X[TB'L:8T[Y?:T-8X?A)YCV4V@_5H@:*F<T,74+1'7VB'L:8TW>56O_/VK]06D'7W3V5X[T1*'V=J+_0:,_5H@:*HD&/Z?V0F/_/ZT-8X?A/Z/V/JT-8X??-6O_/VL_5H@:*$KX1'46:VPB;)4BA&SX4J8*?FT*:Y4'/WPAB'L:8TW=1*T-8X?A*60J2&8)B'L:8T[O4V8+/V,,1VSVB'L:8TS=1F7[4(088X8C;)$G4&0.:JT-8X?@)FD_5H@:*DWVB'L:8TWOB'L:8TS@/VTUB'L:8TS@06D'@7@U4V0_5H@:*J(_5H@:*DP'4X0'/WPA/6DT/ZT-8X?>*J+_0:T-8X?A9JT-8X?A9'/VB'L:8TW@/Z0&?FTU4V7[4*8*?JT-8X??*60)/W4*7W?`1V/[0H/HB'L:8T[V4TL_5H@:)HDC<(_X:Y4'/WPA/:T-8X?A0J'VB'L:8TP:B'L:8TT;07;X4ZT-8X?A.'CV/GG^2&/]B'L:8TS=06D'7X@C;)4'/WPAB'L:8TW=1*(_5H@:*DOQ074_5H@:*HK_B'L:8TSO=6OV2*,*B'L:8T[YB'L:8TT;B'L:8TW>5:T-8X??8ZT-8X??9*T-8X?A)VK]B'L:8T[O1'464&0.:F'[?60M?FSX?JT-8X?A9'/V@ZT-8X?A)V;V2&0_5H@:*F0_5H@:*DL_5H@:*DP_5H@:*4P,B'L:8TT:2&/]B'L:8TS=06D'7X_X:Y$G/6D_5H@:*DWV.F8'?FS`=6P_5H@:*DP_5H@:*(DU4ZT-8X?A0FT[26OV8I7V1FL[0Z,_5H@:*F0G4&0.:F(_5H@:*F<T/Y?_1&OV2'@_5H@:*%TZ/ZT-8X?A*F/_B'L:8T[>B'L:8T[V?V0_5H@:*4P,1ZT-8X??9&/]1JT-8X?A.&D_5H@:*F064&0.:F'[?:T-8X?A)YLU2&8_5H@:*HLS3V0_5H@:)XCV0F/_/W4_5H@:*DKV/JT-8X??-6P_5H@:*(CV1JT-8X??)JT-8X?A.&D'7X_^:Y$G:Y7V4&4*0X`C;)4'/WPA/6D_5H@:*DWV+6K]064'@7@U4V0)/W4*7W3V5X[TB'L:8T[Y?60MB'L:8T\=B'L:8TT;B'L:8T[O?J$&/Z?V0F/_/W4V/V,_5H@:*%G^2&/]B'L:8TS=06D'7X_X:Y$G4&0.:JT-8X?@)FDTB'L:8T[>.F8'?FS`=6OVB'L:8TT;?G?[2&,,1VSV1FKXB'L:8T[YB'L:8T[V7W3V5X[T1*(_5H@:*DP_5H@:)T\_5H@:*HK_B'L:8T[O?J$&/Z?V0F/_B'L:8T[>4*/VB'L:8TW>56O_/VL_5H@:*$KX1'46:V8B;)3T1*'V.F8'?FS`=6OV2*,*1&T_5H@:)TW`1V09+:(T<'3V5X[T1*'V<ZT-8X??9&8)07?X5&/U56O_/VK]06D_5H@:*F069I$C;)4'/WPA/6DT/ZT-8X?@9JT-8X??)FKXB'L:8T[?4*T-8X?>)G@_5H@:*HL*B'L:8T[>4F0_5H@:*F0*7W3V5X\_5H@:*4K[?60M?FT_5H@:*ETUB'L:8T\;3V0Z/V;V2*T-8X?A)W4V/V,,1VSV1FKX1'46:Z(B;)4'/WPA/6D_5H@:*DWVB'L:8TX;074U2&XL1V/_?G@_5H@:*F;_/JT-8X??-:T-8X??8ZT-8X??9&/]1JT-8X?A.&D'7W3V5X\_5H@:*4K[?60_5H@:)T\U2&8U?*T-8X?A?V0Z/ZT-8X?A*F/_B'L:8T[>4*0_5H@:*DOU56O_/ZT-8X??)FKXB'L:8T[YB'L:8T[V7X`T:Y$GB'L:8TW=1*'V.F8'?FT_5H@:*%TL1ZT-8X?A)VT_5H@:*HL*1*T-8X??9*C`1V09+:(T<'3V5X\_5H@:*4K[?6/Q0:T-8X?A/Z+_B'L:8TSO=6P_5H@:*DP_5H@:*(DU4VC_/GG^2&/]1F7[B'L:8T[V7W3V5X[T1*'V.JT-8X?A.'4U2*T-8X??.)G^/ZT-8X??9*,*1&SUB'L:8TSL1VSV1JT-8X??)F8_5H@:*F<'7W3V5X[TB'L:8T[Y?:T-8X?A)ZT-8X?@9JT-8X??9&T_5H@:*HK`,74T/WH_5H@:*DO_B'L:8TW>56O_B'L:8T[>1FKX1'464&0.:F'[B'L:8T[@/YLUB'L:8TT;0:,S3V0Z/V<_5H@:*DO_B'L:8T[>4*/V/GG^2&/]1F7[4(0B1X`C<'3V5X[T1*'VB'L:8TOAB'L:8T\=B'L:8TT;0:,S3ZT-8X?A)Z@_5H@:*DOY/VSVB'L:8T[V?V0_5H@:*4P,1VT_5H@:*DO]1F7[4(0B08`C;)3T1*(_5H@:*DOQ074_5H@:*HL_5H@:*(C`=:T-8X??8V/_?G@_5H@:*F;_B'L:8TO@B'L:8TSO1V09@7L_5H@:*HD*2*,V4Y4'/WPAB'L:8TW=1*'V<VSX4F8*07CVB'L:8TW>5:T-8X??8VSVB'L:8TS=1F7[4(/@-9$C<&'[?6/QB'L:8T[O4*+_29H_5H@:*(@_5H@:*DO_B'L:8T\=4VC_B'L:8TO@26OV8JT-8X?@?7L_5H@:*J0_5H@:*$X_5H@:*ES^3VXG4&0.:F'[?60_5H@:*4L_5H@:*HL_5H@:*$L*B'L:8TW>5:T-8X??8ZT-8X??9*T-8X?A)VL_5H@:*$KX1'464VW^/VCY7U8_5H@:*F0*B'L:8TK=9)$G4&0.:JT-8X?@)JT-8X?A0JT-8X?A*60K/W?Z1*'H4'C[46/U56O_B'L:8T[>1FKX1'464&0.:F'[?60K/ZT-8X??*6?[?:?V0JT-8X?A)VSV4*/V/GH_5H@:*(?_/VK]06D'7W3V5X[T1*'VA&W^/Z?V0F/_/W4VB'L:8T[>/GG^B'L:8TT;/VL_5H@:*$KX1*T-8X?A/X0B@6W]4V0)8IDU4V@B;)4B<VD.:Y$G4&0.:JT-8X?@)FDTB'L:8T[><VSX4JT-8X?A.'?XB'L:8TSA/ZT-8X?@)WG^2&/]1F7[B'L:8T[V7TLC<'3V5X[TB'L:8T[YB'L:8T[@/YLU2&8_5H@:*HL_5H@:*HD_5H@:*J0_5H@:*DPZ/V;V2&0'?ZT-8X?A)V,,1ZT-8X??9&0_5H@:*$K]0:T-8X?A0G46:V8B;)$C;)$C;)4'/WPA/6DTB'L:8T[>=&0_5H@:*$WZ1*(Z/ZT-8X??*7L_5H@:*(D'@7@UB'L:8TS@/W<_5H@:*DP_5H@:*F0*7W3V5X[T1*'V.F8'?FS`=:T-8X??8V0_5H@:*(DU4VC_/GG^2*T-8X?A)ZT-8X??)FL_5H@:*ES[4(0'/WPAB'L:8TW=1*'V=J,_5H@:*(CX?J$&B'L:8T[>@V/YB'L:8T[>2&0_5H@:*F0V/V,,B'L:8TT:2&/]B'L:8TS=06D_5H@:*F06:Z(B;)3T1*'V.F8_5H@:*F0U2&XL1V/_B'L:8T\=4VD_5H@:*(D[2:T-8X??8V09='L&4V7^3VXG4&0.:JT-8X?@)FDT/ZT-8X?>*J+_0:,S3V0Z/V;V2&0'B'L:8T[=B'L:8T[>B'L:8TW>56P_5H@:*(CV1FKX1'46:Z,B;)$C2Y#P5*+_:G0=3XL&9HKB4&0.:F'[?:T-8X?A)YCVB'L:8T\TB'L:8T\;/VTK/W?ZB'L:8T[Y?6\I?G;V*X`H1&4B<*?V4WK_4*C`1V/B4&0.:F(_5H@:*F<_5H@:*DWVB'L:8TO@B'L:8TSO1V0Z/ZT-8X?A*JT-8X?A)VSV4*0_5H@:*DP64VW^/VCY7ZT-8X?@*6D-?'/V;)$GB'L:8TX=4W?_0:T-8X?A9'L*B'L:8T[>1D`6=&0_5H@:*J(_5H@:*HCV2%(*4ZT-8X??9&8S5G@_5H@:*DO];&,'B'L:8TS>B'L:8T\T8JT-8X?>8Z+_1JT-8X?A)X0*26OV1&<6=&0_5H@:*J(_5H@:*HCV2*T-8X?@9JT-8X??*7?_B'L:8T[O?'L*/VLC<&,'5JT-8X?A?8;G/W@I?JT-8X?A?6/]7W?`1V/[0H0_5H@:*:'V4J#VB'L:8TT;+7@*2&8S5G@_5H@:*DO];)$\9*LC2UX_5H@:*J0=3XL&9HL9<Z+_?G<_5H@:*DP*/VS]8E(_5H@:*DXT7W3V5X\_5H@:*4L_5H@:*F<_5H@:*DWV<ZT-8X?A9JT-8X??9*,_5H@:*J'V4V/_.V0V3Z+_?JT-8X??*:T-8X?A.*T-8X?A0G3U56O_/VL_5H@:*$KX1'464VW^/VCY7U`_5H@:*F<-?'/V;)4B58`C;%X&9G0=3XL=8I@U2*,)/W?VB'L:8TT;B'L:8TS=8E(_5H@:*DXT7W3V5X[TB'L:8T[Y?60_5H@:)X@U2*,)/ZT-8X??*:T-8X?A)VSR/Z0&?FTU4V7[4*T-8X?@)WG^2&/]B'L:8TS=B'L:8T[O1'464VW^/VCY7U8'4ZT-8X?=)HDC<(`':Y$C.70_5H@:)HL&9G0_5H@:)HL=8J8*B'L:8T\=4V0)/W4_5H@:*$X_5H@:*$L9+:(T@Z,'0&064&0.:F'[?60XB'L:8TS@?G?VB'L:8T\T/W4*A:Ka4&0.:F'[?60M?JT-8X??9&8U?*T-8X?A?V/R/Z0&?FT_5H@:*HL*06D'@7@U4V0)/W4*7W?`1V/[0H/H4'?=9)$G:WLB<'3V5X[T1*'V=&0_5H@:*$WZB'L:8T[YB'L:8T[@,:T-8X?A/WC[46/U56P_5H@:*(CVB'L:8TS=B'L:8TS=06D'7W3V5X[T1*'V=&0*0VDT@V0_5H@:*D\_5H@:*DP_5H@:*(CV4*/V/GG^2&/]1F7[B'L:8T[V7W3V5X[T1*'VA&W^/Z?VB'L:8T[A/VSV4*0_5H@:*DOU56P_5H@:*(D_5H@:*DO]1F7[B'L:8T[V7X_V0F4B;)4B=(`C<'3V5X[T1*'V=JT-8X?A9FSXB'L:8T\=?'/V@V/Y/ZT-8X??9&0_5H@:*F0V/ZT-8X?@)ZT-8X??-:T-8X??8VSV1JT-8X??)F7[4(0B4(`C;)$G4&0.:F(_5H@:*F<TB'L:8T[>=J+_0:T-8X?A9JT-8X?A9'/VB'L:8TW@/Z0_5H@:*J0U2*,*06D'@7@UB'L:8TS@/ZT-8X?A?60'4X0*26OV1&<6.VD-?'/V;)4B1(`G4&0.:JT-8X?@)JT-8X?A0J'V<VSX4F8*07D_5H@:*DOU56O_/VK]06D_5H@:*F069I$C<'3V5X[T1*'VB'L:8TWO4V/_?G@_5H@:*ES[4*8_5H@:*$XU4V0_5H@:*J'V4'@64&0.:F'[B'L:8T[@/YL_5H@:*HK_B'L:8T[O?J$_5H@:*J/V.V0_5H@:*DL_5H@:*J0UB'L:8TT;B'L:8T\=B'L:8TS@06D_5H@:*F0XB'L:8TS@?G?V4F0'B'L:8TS@7W?`1V/[0H/HB'L:8T[V4TL_5H@:)HDC<(_X:Y4'/WPAB'L:8TW=1*(_5H@:*DPJ2*T-8X?A.';X4V8+B'L:8T[>/GG^2*T-8X?A)ZT-8X??)FKX1'468Y$C<'3V5X[TB'L:8T[YB'L:8T[@/U[X4*+_2:T-8X?@0FP_5H@:*DP_5H@:*(D_5H@:*HL*1&T_5H@:*4P,1VT_5H@:*DO]1F8_5H@:*F<'7W3V5X[T1*T-8X?A*60M?JT-8X??9&8U?'/V@V/Y/ZT-8X??9*T-8X?A)W4VB'L:8T[>/GG^2&/]B'L:8TS=06D_5H@:*F06:V8B;)3T1*'VB'L:8TX;074U2*T-8X??.)H_5H@:*(?VB'L:8TT;?G?[B'L:8TT;A&W^/X<H/ZT-8X??)FL[0Z,_5H@:*F0G4&0.:F'[?60M?FSX?J$&/ZT-8X?>9&/Y/VSVB'L:8T[VB'L:8T[=/ZT-8X?@)WG^2&/]1F7[4(0B5H`C;)4'/WPA/6DTB'L:8T[>+:T-8X??)JT-8X??)F8_5H@:*DT'@7@UB'L:8TS@/W;V4'@64&0.:JT-8X?@)FDT/YLU2&8U?'/VB'L:8TP;/V;V2&0'?V/U56O_/VK]06D'7X_X:Y$G4&0.:F(_5H@:*F<T/U[X4*T-8X?A9JT-8X??9&XL1ZT-8X?A)VT_5H@:*HL*1&SU5:T-8X??8ZT-8X??9&/]1F7[4(0'/WPA/6DT/YLU2&8U?'/V@V/Y/VSV4*/VB'L:8TW>B'L:8TSL1VT_5H@:*DO]1JT-8X?A.&D'7X_X:Y$G/6DT/U[X4*+_B'L:8TSO=6P_5H@:*DO_?JT-8X??*6C_A&W^B'L:8T[>8E(T?94'/WPA/6DT/ZT-8X?>8ZT-8X??9&8)B'L:8T[O4V8+B'L:8T[>/GH_5H@:*(?_/ZT-8X??)FL_5H@:*ET_5H@:*F<'7XLC;)$G4&0.:F(_5H@:*F<TB'L:8T[>+6L_5H@:*$KXB'L:8T[?4*8*?JT-8X??*60_5H@:*J'V4'@64&0.:F'[?60M?FSX?J$&/Z?V0JT-8X?A)VSV4*/VB'L:8TW>56P_5H@:*(CV1FKX1'46:VDB;)4'/WPA/:T-8X?A0J(_5H@:*DP_5H@:*8D_5H@:*ET'?FS`=:T-8X??8V/_?G@_5H@:*F<_5H@:*(CU56O_/VK]B'L:8T[O1'464&0.:F(_5H@:*F<_5H@:*DWV=J,_5H@:*(D_5H@:*ETUB'L:8T\;3V0Z/V;V2&0'?V0_5H@:*4P,1VSV1FKX1*T-8X?A/X0B1(`C<*T-8X?@)FDT/U[X4*+_29G^B'L:8T[>2*T-8X?A9G?[2*T-8X?>*6X_5H@:*(?V8ID-3W?X1ZT-8X?A?ZT-8X??.)4'/WPA/6DT/U'_0'L)/ZT-8X?A/ZT-8X??*:?V0F0_5H@:*(CV4*/V/GG^B'L:8TT;/VK]B'L:8T[O1'46:WHB;)$C;)4'/WPA/6DT/YCVB'L:8TS@0VDT@V0_5H@:*$X-2'4X4ZT-8X?A9G?V4F0'B'L:8TS@7W3V5X[T1*'VB'L:8TOAB'L:8T\=2&8U?'/V@V/YB'L:8T[>2&0'?ZT-8X?A)V,,B'L:8TT:2*T-8X?A)ZT-8X??)FKX1*T-8X?A/X0B1(`C;&`C.7DU2(\&3W0_5H@:)HL_5H@:*J0=B'L:8TL=*W3V5X[TB'L:8T[YB'L:8T[@/V(_5H@:*F<'1G?_5J0*B'L:8T[Y2(0C.70_5H@:*J0_5H@:*J0=3ZT-8X?=9JT-8X?=9H<X4Z,*/W;VB'L:8T[V4VL9+:(_5H@:*DX64&0.:F'[?60K/W?Z1*'HB'L:8T[V5&D_5H@:*J#VB'L:8TW>56O_/VK]06D'7W3V5X\_5H@:*4K[?6/D2*T-8X??9*T-8X?A9FWH4*'V56/_B'L:8TW>5:T-8X??8VSV1FKX1*T-8X?A/X0'/WPA/6DTB'L:8T[>B'L:8TXTB'L:8T[>4V?[?58_5H@:*F0_5H@:*$[[B'L:8T\S/V,_5H@:*%G^2&/]B'L:8TS=0:T-8X?A0G464&0.:F'[?:T-8X?A)ZC`1V0L0F,,1ZT-8X??9&/]1JT-8X?A.*T-8X?A0G464VW^/VCY7U[[1'/V?G4C;)4B,&0*/&7V3Z']:Y$G4&0.:F'[?60JB'L:8TT;B'L:8T[O4F8*07CV/GH_5H@:*(?_/ZT-8X??)JT-8X??)JT-8X?A.&D'7XLC;)4B@60*=J,&5F0B<'3V5X\_5H@:*4L_5H@:*F<TB'L:8T[>B'L:8TP:2&8)0:T-8X??*68+/V,_5H@:*%G^2&/]1F7[4(0'5G0&;)4'/WPA/6DT/ZT-8X?>8VSXB'L:8T\T07?X5&0_5H@:*4P,1VSVB'L:8TS=1JT-8X?A.&D'7X_D.J?D/5'R+5\Z+5'Q@U(B;)$C.7DU2(\&9HL=3W0_5H@:)HKB4&0.:JT-8X?@)FDTB'L:8T[>=&0)?&/_=&0*0VD_5H@:*DWa@V0*5FT'A&W^/T`'/WPA/6DT/ZC`1ZT-8X?A)Z?V0F0_5H@:*(CVB'L:8T[V?V064VW^/VCY7U_[B'L:8TS>?'0_5H@:*DPC;)4IB'L:8T\=B'L:8T\T/T`B0H_b.70=B'L:8TL=9JT-8X?A?W0_5H@:)HL9<Z+_?G;V4ZT-8X?A)VS]8JT-8X?@9J(T7W3V5X\_5H@:*4K[?:T-8X?A)Y@U2*,)/W?V2%`_5H@:*DPV3Z+_?G?XB'L:8T[Y4&,,1VT_5H@:*DP_5H@:*$K]0:T-8X?A0JT-8X?A/X0*26OV1&<6.ZT-8X?A0GL_5H@:*HD&/Y$G:Z(B;)#P3ZT-8X?=9HL=3W0=8J8*?G?V4F0_5H@:*F0*1H;D?:(64&0.:F'[?60M?FSXB'L:8T\=?*T-8X?A?V/R/Z0&?FTU4V7[4*8*?G?VB'L:8T\T/W4*7W?`1V/[0H/RB'L:8T[YB'L:8TS>?'/V;)4B58`G4&0.:F(_5H@:*F<T/U[XB'L:8T[V?FS`=6OV2*,*B'L:8T[YB'L:8TT;/JT-8X??-:T-8X??8VSVB'L:8TS=1F8_5H@:*F<'7W3V5X\_5H@:*4K[?6/Q074UB'L:8TT;29H_5H@:*(?VB'L:8TT;?G?[2&,_5H@:*%H_5H@:*(?_/ZT-8X??)FL_5H@:*ES[4(0'/WPA/6DT/Y?_B'L:8T[YB'L:8TT:/VT*B'L:8TSO@V/Y/VSV4*0_5H@:*DOU56O_B'L:8T[>1FKX1'464&0.:F'[B'L:8T[@/V#XB'L:8T[>3Z(Z/V;V2&0'?V/U5:T-8X??8VSV1FL_5H@:*ES[B'L:8T[V7W3V5X[T1*'VA&W^/Z?V0F/_B'L:8T[>B'L:8T[VB'L:8T[=/V,_5H@:*%G^2&/]1F7[4(0*26OV1&<6.FC[3V0U4)$C<(_S?G/]/Z8*2&8'0(`C<(`H/W3W4V@B;)3T1*(_5H@:*DOQ074U2&XLB'L:8TT:/VTU4VC_A&W^/X<_5H@:*4WX5&8T/Y4'/WPA/6DTB'L:8T[><VSX4F8*07CV/JT-8X??-:T-8X??8VSV1JT-8X??)F8_5H@:*F<_5H@:*F069HDT;)$G/6D_5H@:*DWVB'L:8TX;074_5H@:*HK_2:T-8X?@0FOV2*,_5H@:*$W[2*D_5H@:*%S^B'L:8T[>8ID_5H@:*$P_5H@:*J0*06P&294'/WPA/6DT/YCV4V@_5H@:*F<T,74+1'7V/GG^2&/]1JT-8X?A.*T-8X?A0G464&0.:F(_5H@:*F<T/ZC`1V0Z/ZT-8X?A*F0_5H@:*(CV4*/V/GH_5H@:*(?_/VL_5H@:*$KX1'46:Z7`1G?V4H<K?G?Z:Y$G:Z?[5G4T:Y4'/WPA/:T-8X?A0J'V<VSXB'L:8T\T07?X5&0_5H@:*4P,1VSV1FKX1*T-8X?A/X0:?9$G4&0.:F'[?60J2&8)07?XB'L:8TSAB'L:8T[>/GG^2&/]1F7[B'L:8T[V7XLC;)$C;%X&9HL=B'L:8T\VB'L:8T\V9H<X4Z,_5H@:*$WV4F0'B'L:8TS@1H;D?:T-8X?A*80'/WPA/6D_5H@:*DWVB'L:8TXT/ZT-8X??*6?[?:?V4ZT-8X??)VT'@7@_5H@:*HL*/ZT-8X?A?60'B'L:8TS@7W3V5X[T1*(_5H@:*DOQ074U2&XL1V/_?JT-8X??*6C_/GG^2*T-8X?A)VK]06D'7W3V5X[TB'L:8T[YB'L:8T[@/U[X4*+_29G^/VTU4VD_5H@:*(CU56O_/VK]06D'7W3V5X[T1*T-8X?A*:T-8X?A)U[X4*+_29G^/VTU4VD_5H@:*(CUB'L:8TSL1VT_5H@:*DO]B'L:8TS=06D'7W3V5X[T1*'V<VSXB'L:8T\T07?XB'L:8TSA/V,,1VSV1FL_5H@:*ES[4(/O*)$G/6DT/U[X4*T-8X?A9FS`B'L:8TWY1V0_5H@:*(DUB'L:8TS@B'L:8T[Y2*C`1ZT-8X?A)X<KB'L:8TS>B'L:8T\V4V7^3VXG4&0.:F'[?60K/ZT-8X??*6?[?:T-8X?@.'4_5H@:*$[[46/U56O_B'L:8T[>1FKX1'464&0.:F'[?60[26OVB'L:8TP;/V;V2&0_5H@:*F0_5H@:*DKV/GH_5H@:*(?_B'L:8T[>1FKX1'46:V/Y0(`C<(`H1&4B<'3V5X[TB'L:8T[Y?60M?FSX?J$_5H@:*J/VB'L:8TP;/V;VB'L:8TT;/W4V/ZT-8X?@)ZT-8X??-6P_5H@:*(CV1FKXB'L:8T[Y4(0B58`C<'3V5X[T1*'V<VSX4F8_5H@:*$WX5&/UB'L:8TSL1ZT-8X??9&/]B'L:8TS=06D'7UHC;)$G/6D_5H@:*DWV.F8'B'L:8T\=2&XLB'L:8TT:/VTU4VC_A*T-8X??.&OV8E(TB'L:8T[@<'3V5X[T1*'V.F8'B'L:8T\=2&XL1V/_?G?[2&,,1VSVB'L:8TS=1F7[B'L:8T[V7W3V5X[T1*'V.F8'B'L:8T\=B'L:8TT;29G^/ZT-8X??9*T-8X?A9G?[B'L:8TT;/JT-8X??-6O_/VK]06D_5H@:*F064&0.:JT-8X?@)JT-8X?A0J'V.F8'?FT_5H@:*%TL1ZT-8X?A)VTUB'L:8TS@1&SU56O_/VK]B'L:8T[O1'464&0.:JT-8X?@)FDT/ZT-8X?@9&8_5H@:*F0U2&XL1V/_?JT-8X??*6C_B'L:8TW>56O_/VK]06D'7W3V5X[T1*'V.F8'?FS`=6OV2*,*1&SU56O_/VL_5H@:*$L_5H@:*ES[4(0'/WPA/6DT/ZT-8X?@9&8'?FS`=6OVB'L:8TT;?G@_5H@:*F;_/GG^2&/]B'L:8TS=B'L:8T[O1'464&0.:F'[?:T-8X?A)U[X4*+_29G^/VTU4VC_/GH_5H@:*(@_5H@:*(CV1FL_5H@:*ET_5H@:*F<'7W3V5X[T1*(_5H@:*DOQ074UB'L:8TT;B'L:8TSO=6OV2*,*1*T-8X??9&,,1VT_5H@:*DO]1F7[4(0'/WPAB'L:8TW=1*'V.F8'?JT-8X??9&XL1V/_?G@_5H@:*F;_/GG^2&/]B'L:8TS=06D'7W3V5X[T1*(_5H@:*DP_5H@:)X@_5H@:*(CX4F8*B'L:8T[O5*T-8X?A)V,,1VSV1FKX1'46)H??*9$G/:T-8X?A0J'V.F8'?FS`=6P_5H@:*DO_?G?[B'L:8TT;A&X_5H@:*(?V8ID-3ZT-8X??*68_5H@:*(@&294'/WPAB'L:8TW=1*T-8X?A*60_5H@:)X@_5H@:*(CX4F8*07CV/JT-8X??-6O_/VK]B'L:8T[O1'46;HLC;)3T1*'V.F8'?FS`=6OV2*,*1&T_5H@:)TW`B'L:8TT:/X<K5G0*06P_5H@:*J/`<'3V5X[T1*(_5H@:*DPKB'L:8T[>B'L:8TS@0VD_5H@:*DWH4*T-8X??*FD(/V,_5H@:*%G^2&0_5H@:*$K]06D'7W3V5X\_5H@:*4K[?60K/W@_5H@:*EG[?:?VB'L:8T[A/VT_5H@:*DP'?V/U5:T-8X??8ZT-8X??9&/]1F7[4(0'/WPA/6D_5H@:*DWVA&W^/Z?V0F/_/W4V/ZT-8X?@)WG^2&0_5H@:*$K]06D'7X_V0F4B;)4B<6CW:Y$G4&0.:F(_5H@:*F<_5H@:*DWVB'L:8TOA?FSX?J$&B'L:8T[>@V/Y/VT_5H@:*DP'?V/UB'L:8TSLB'L:8TT:B'L:8TT;/ZT-8X??)FKX1*T-8X?A/X0B58`C<'3V5X\_5H@:*4K[B'L:8T[@/Y@_5H@:*(D_5H@:*ET)07@_5H@:*ET+/V,,1VSV1JT-8X??)F7[4(/>;)$C<&(_5H@:*F<_5H@:*DX_5H@:*DOQ074UB'L:8TT;B'L:8TSO=6OV2*,*1&T[26OV8E(T?94'/WPA/6DTB'L:8T[>.F8_5H@:*F0UB'L:8TT;29G^B'L:8T[>2*,*1*T-8X??9&,_5H@:*%G^2&/]B'L:8TS=0:T-8X?A0G464&0.:F'[?6/Q074U2&XL1V0_5H@:*(DUB'L:8TS@1&SU56O_/ZT-8X??)JT-8X??)JT-8X?A.&D_5H@:*F064&0.:JT-8X?@)FD_5H@:*DWVB'L:8TX;074UB'L:8TT;29G^/VTU4VC_/GG^2&/]1F7[4(0'/WPA/:T-8X?A0JT-8X?A*60M?FSX?J$&/Z?V0F/_/W4VB'L:8T[>/GH_5H@:*(?_/VK]06D'7X`,:Y$G/:T-8X?A0J'VB'L:8TX;074U2*T-8X??.)G^/ZT-8X??9*,*1&T[26OV8ID_5H@:*$P&4V8_5H@:*(@&B'L:8TSO<'3V5X[T1*'VB'L:8TX;074U2&XL1V/_B'L:8T\=4ZT-8X?A0JT-8X??9&,,1VT_5H@:*DO]1JT-8X?A.&D'7W3V5X[TB'L:8T[Y?:T-8X?A)YLU2&8U?'/V@V/Y/VSVB'L:8T[V?ZT-8X?A)ZT-8X?@)WG^2&/]1JT-8X?A.&D'7X`,:Y$GB'L:8TW=1*'V.F8'?JT-8X??9&XLB'L:8TT:/ZT-8X??9*,*1&T[B'L:8TSO1V09='L&4V7^B'L:8T\VB'L:8TSO<'3V5X[T1*'V<VSXB'L:8T\T0:T-8X??*:T-8X?A.'D_5H@:*DP_5H@:*4P,1VSV1FKX1'46)ES?)HDC;)$G/6DT/ZT-8X?@9&8'?FS`B'L:8TWY1V/_?G?[2*D_5H@:*%S^B'L:8T[>8ID-3W?X1W0_5H@:*%TG4&0.:JT-8X?@)FDTB'L:8T[>.F8'?FS`=6OVB'L:8TT;B'L:8T\=4ZT-8X?A0FSU56O_/VK]06D'7W3V5X[T1*'V.F8'?FS`=6P_5H@:*DO_?JT-8X??*6D_5H@:*(CU56O_/VK]06D'7W3V5X[TB'L:8T[Y?:T-8X?A)YLUB'L:8TT;0:T-8X?A9J$&/Z?V0F/_/W4V/V,,B'L:8TT:2&/]1F7[4(0B58`C<&'[?:T-8X?A)U[XB'L:8T[V?JT-8X??9&XL1V/_?JT-8X??*6D_5H@:*(D[B'L:8TSO1V09='L&B'L:8TS@06P&B'L:8TSO<'3V5X[T1*'V=J,_5H@:*(CX?J$_5H@:*J/VB'L:8TP;/V;V2&0_5H@:*F0V/V,,1VT_5H@:*DO]1F7[4(0B58`C;)3T1*'V.F8'?FT_5H@:*%T_5H@:*6<_5H@:*(?V2*,*B'L:8T[Y2*C`1V09B'L:8TXT5G0_5H@:*$WX1W/`<'3V5X\_5H@:*4K[?60M?JT-8X??9*T-8X?A.*,S3V0Z/V;VB'L:8TT;/W4V/ZT-8X?@)WH_5H@:*(@_5H@:*(CV1FKX1'46:WHB;)$C<*T-8X?@)JT-8X?A0JT-8X?A*60_5H@:*8CX4*+_2:T-8X?@0JT-8X??8ZT-8X?A)VTU4VC_B'L:8TO@26P_5H@:*DP9B'L:8TXT5G0_5H@:*$X_5H@:*ES^3VXG4&0.:F'[B'L:8T[@/YLU2&8_5H@:*HLSB'L:8T\V/ZT-8X?>9&/YB'L:8T[>2&0'?V/U56O_B'L:8T[>1FKXB'L:8T[Y4(0B58`C;)$G/6DT/U\_5H@:*ET'?FT_5H@:*%TL1V/_?G?[2*C`1V09+:(_5H@:*DXG4&0.:F'[?6/QB'L:8T[O4*T-8X?A9FS`=6OV2*T-8X?A9G?[B'L:8TT;/GG^2&/]1F8_5H@:*F<_5H@:*F064&0.:F(_5H@:*F<T/Y?_07;XB'L:8TS@0:T-8X??*F/U56O_/VK]0:T-8X?A0G46;HCA.(K>8Y$G/6D_5H@:*DWV.F8'B'L:8T\=2*T-8X??.*T-8X?@0FP_5H@:*DO_B'L:8T\=4VC_B'L:8TO@B'L:8TSO1V09='L_5H@:*J0*06P&294'/WPA/6DT/YD_5H@:*DP_5H@:*$WZ1*'H4'D_5H@:*F<_5H@:*J#V/GH_5H@:*(?_/VK]B'L:8T[O1'464&0.:JT-8X?@)FDT/YCV4V?[?:?VB'L:8T[AB'L:8T[>2&0_5H@:*F0V/V,,1VSV1FKX1'464&0.:JT-8X?@)FDT/ZT-8X?>*:T-8X??.&OV@V/YB'L:8T[>B'L:8TT;/W4V/V,_5H@:*%G^2&0_5H@:*$K]06D'7X_V0F4B;)4B<6CW:Y$G4&0.:JT-8X?@)FDT/YLU2&8_5H@:*HLS3V0Z/V;V2*T-8X?A)W4V/ZT-8X?@)WG^2&/]1F7[4(0B58`C<'3V5X[T1*'V<VSX4JT-8X?A.'?X5&0_5H@:*4P,1VT_5H@:*DO]1F8_5H@:*F<'7TTC;)$C<*T-8X?@)JT-8X?A0JT-8X?A*6/Q074_5H@:*HK_29H_5H@:*(?V2*,*1*T-8X??9*C`1V09+:(T<'3V5X[TB'L:8T[Y?6/Q074U2*T-8X??.)G^B'L:8T[>B'L:8TT;?G?[2&,,B'L:8TT:2&/]1F7[4(0'/WPA/6DT/ZT-8X?@9&8'?JT-8X??9&XLB'L:8TT:B'L:8T[>2*,*1&SU5:T-8X??8ZT-8X??9*T-8X?A)ZT-8X??)FL_5H@:*ET_5H@:*F<'7W3V5X[T1*'V=J+_0:,S3V0ZB'L:8T[>0F0_5H@:*(CV4*/V/JT-8X??-6P_5H@:*(CV1JT-8X??)F7[4(0B58`C<&(_5H@:*F<T/U[X4*T-8X?A9FS`B'L:8TWYB'L:8TT:/VTU4ZT-8X?A0FT_5H@:)TW`B'L:8TT:/X<KB'L:8TS>3W@_5H@:*ET_5H@:*(@&294'/WPA/6DT/U[X4*+_29G^/VTUB'L:8TS@1*T-8X??9&,,1VT_5H@:*DO]1F7[B'L:8T[V7W3V5X[T1*'V=J+_0:,_5H@:*HD&/Z?VB'L:8T[A/VSV4*/VB'L:8TW>5:T-8X??8VSV1FL_5H@:*ES[4(0B58`C<&'[?6/QB'L:8T[O4*T-8X?A9FS`=6OV2*T-8X?A9JT-8X??*:T-8X?A0FT[B'L:8TSOB'L:8TT:/X<K5G0_5H@:*$WX1W0_5H@:*%TG4&0.:F'[?60J2&8)07?X5&/U56O_/VK]0:T-8X?A0G469H@;8XC@)I$C;)3T1*'V.F8'?FT_5H@:*%T_5H@:*6<_5H@:*(?V2*,_5H@:*$X_5H@:*F;_B'L:8TO@26OV8ID_5H@:*$P&4ZT-8X?A.*T-8X??8W/`<'3V5X[T1*'V.F8'?FS`=6OV2*,*1*T-8X??9&,_5H@:*%H_5H@:*(?_/ZT-8X??)FL_5H@:*ES[4(0'/WPA/6DT/YLU2&8U?'/V@V/Y/VSV4*/V/JT-8X??-6O_/VK]0:T-8X?A0G46:WHB;)3T1*T-8X?A*:T-8X?A)U[X4*+_29G^/VTU4VC_A&W^/X<KB'L:8TS>3W?X1ZT-8X?A?VXG4&0.:F(_5H@:*F<T/ZT-8X?>*JT-8X?A9JT-8X??9&8_5H@:*HL_5H@:*HD_5H@:*J/V@V/Y/VSV4*/V/GG^2&/]B'L:8TS=06D_5H@:*F06:WHB;)$C;)3T1*T-8X?A*6/Q074U2&XL1V/_?G?[2*D_5H@:*%S^/X<X5J$*B'L:8TT;?J0*<'3V5X\_5H@:*4K[?6/Q0:T-8X?A/Z,_5H@:*(C`=6OV2*T-8X?A9G?[2*T-8X?@)WG^2*T-8X?A)VL_5H@:*$KX1'464&0.:F'[?60J2&8)07?X5&/UB'L:8TSL1ZT-8X??9*T-8X?A)ZT-8X??)FKX1'469(L;-4\=*I$G/6DT/U[X4*+_29G^/VT_5H@:*HL_5H@:*$X_5H@:*F;_A&X_5H@:*(?V8JT-8X?@?7L&4V7^B'L:8T\V294'/WPA/6DTB'L:8T[>=&0*0VDT,74+1'7V/GH_5H@:*(?_/VK]B'L:8T[O1'464&0.:JT-8X?@)JT-8X?A0J'V=*T-8X?A)W@_5H@:*EG[?:T-8X?>9&/Y/VSV4*T-8X?A)F/U56P_5H@:*(CV1FL_5H@:*ET_5H@:*F<'7W3V5X[TB'L:8T[YB'L:8T[@/ZC`B'L:8TT:B'L:8T[>@V/Y/VSV4*/V/GG^2*T-8X?A)VK]06D'7X_V0F4B;)4B<6CW:Y$G4&0.:JT-8X?@)FDT/YLU2&8U?'/VB'L:8TP;/V;V2&0_5H@:*F0V/V,_5H@:*%G^2&/]1JT-8X?A.&D'7X`,:Y$G4&0.:F'[?60_5H@:)X?_B'L:8T[O4F8*07CV/GG^2&/]1F7[4(/=;)$C;)4_5H@:*4K[?6/Q074U2&XL1V/_?G?[2*C`B'L:8TT:/X;D?:(G4&0.:F'[?6/Q0:T-8X?A/Z+_29G^/VTU4VC_/GH_5H@:*(@_5H@:*(CVB'L:8TS=1F7[4(0'/WPAB'L:8TW=B'L:8T[YB'L:8T[@/YLU2&8_5H@:*HL_5H@:*HD&/Z?V0F/_/ZT-8X?A/Z/V/GG^B'L:8TT;B'L:8T[>1FKX1'46:WHB;)3TB'L:8T[Y?6/Q074UB'L:8TT;29G^/VTU4ZT-8X?A0FT[26OV8ID-3W?X1ZT-8X?A?VXG4&0.:F'[?6/Q074_5H@:*HK_B'L:8TSO=6P_5H@:*DO_?G?[2&,,1ZT-8X??9*T-8X?A)VK]06D'7W3V5X[T1*'V<ZT-8X??9&8)07?XB'L:8TSA/ZT-8X?@)WG^2&/]1F7[4(0;9ES>*$[L;)3T1*(_5H@:*DOQ074U2*T-8X??.*T-8X?@0FOVB'L:8TT;?G?[B'L:8TT;A&X_5H@:*(?V8ID-3W?X1W0_5H@:*%TG4&0.:JT-8X?@)FDT/ZT-8X?>*J+_0:,S3V0ZB'L:8T[>0JT-8X?A)VSV4*/V/GG^2&0_5H@:*$L_5H@:*$KX1'46:WHB;)$C;)3TB'L:8T[Y?:T-8X?A)U[X4*T-8X?A9FS`=6OV2*,*1&T[2:T-8X??8V09@7LS4VTU?W@G4&0.:F'[?:T-8X?A)U[X4*,_5H@:*(C`=6P_5H@:*DO_?G?[B'L:8TT;/GG^2&/]1F7[4(0'/WPA/:T-8X?A0J'V<ZT-8X??9&8)0:T-8X??*68+/V,,1VSV1FKXB'L:8T[Y4(/?-4W@*8@C<&(_5H@:*F<T/U[X4*,_5H@:*(C`=6OV2*,_5H@:*$W[2*C`1V09B'L:8TXTB'L:8TS>3W@_5H@:*ES^3VXG4&0.:F(_5H@:*F<T/YL_5H@:*HK_0:T-8X?A9J$&/Z?V0F/_/W4V/V,,B'L:8TT:2&0_5H@:*$K]0:T-8X?A0G46:WHB;)$C<&'[B'L:8T[@/U[X4*+_B'L:8TSOB'L:8TWY1V/_?G?[2*T-8X?>*6W^/X<_5H@:*8L_5H@:*DXT<'3V5X[TB'L:8T[Y?60_5H@:)X?_07<_5H@:*ET*07D_5H@:*DOU56O_B'L:8T[>1FL_5H@:*ES[4(0;8XKA8Y$C;)3T1*'V.F8_5H@:*F0_5H@:*HK_B'L:8TSO=6OV2*,*1&T[26OV8E_XB'L:8TSA0:T-8X?A*60G4&0.:JT-8X?@)FDT/Y?_B'L:8T[O4F8_5H@:*$WX5&/U56O_/VK]06D'7XL:8UH:;)$C;%X+?FTA3W0_5H@:)HL&B'L:8TL=B'L:8T\VB'L:8TL=*W3V5X[T1*'V/JT-8X?A/W?_29?[074*B'L:8TXT/W?Z1*T-8X?A*80C.:T-8X?A?W0=3XL&9H<XB'L:8TS@?G@_5H@:*DP)/W4_5H@:*$W]8E(T?80'/WPA/6DTB'L:8T[>=*T-8X?A)W?Z1*(_5H@:*5T'5&D_5H@:*J$_5H@:*DOU56O_/VK]06D'7W3V5X[TB'L:8T[Y?:T-8X?A)ZT-8X?@?60*0VD_5H@:*DX_5H@:)XCVB'L:8T[A/VSVB'L:8T[V?V/U56O_/ZT-8X??)FKXB'L:8T[Y4(0'/WPA/6DT/ZT-8X?>*6W^/Z?V0F/_B'L:8T[>4*T-8X?A)F/U5:T-8X??8ZT-8X??9&/]1F7[4(0B@6W]4V0)8F'[4&K[3V0B;)4B>6SX4V0B;)4'/WPA/:T-8X?A0J'V=*T-8X?A)W?Z1*'H4'C[46/U56P_5H@:*(CV1FKX1*T-8X?A/X0'/WPAB'L:8TW=1*(_5H@:*DPK/ZT-8X??*:T-8X?A-:T-8X?A0J(ZB'L:8T[>0F/_/W4V/V,,1VT_5H@:*DO]1F7[4(0'/WPA/6D_5H@:*DWV=:$_5H@:*J+V?W?T2&0U4V0_5H@:*4P_5H@:*%G^B'L:8TT;/VK]06D'7X_V0F4B;)4B0H`C<'3V5X[T1*'VB'L:8TP:2&8)07?X5&/U56O_/VL_5H@:*$KX1*T-8X?A/X0:;)$C;%X&3XL&9G0=8J8*?G?V4F0'4VL9+:T-8X?A*:(64&0.:F'[?60K/ZT-8X??*6?[B'L:8T[@,74+1'7V/GG^2*T-8X?A)ZT-8X??)FL_5H@:*ES[4(0'/WPA/6DT/ZC`1V0Z/V;V2&0'?V/U5:T-8X??8VSV1FKX1'464VW^/VCY7V(_5H@:*F<_5H@:*F/]1*T-8X?A?V0C;)4B@V0U?97X4&0B;)#P3ZT-8X?A?ZT-8X?=9G0=3W09A&W^/ZT-8X??)H<_5H@:*8LTB'L:8T[@7W0&3XL_5H@:*J0=B'L:8T\V;%X&B'L:8TL=3W0=9G09<J,)B'L:8T[>1FPU?V/]8JT-8X?@9J(_5H@:*DX63ZT-8X?A?XL_5H@:*J0=3W0C.70&3XL&9G09=&0)?&/_1H<_5H@:*8LT?:T-8X?>9*T-8X?A9G3WB'L:8T[>7W3V5X[T1*'VA*T-8X??.&OV=&0)?&/_A:Ka3XL&9G0=9I4&9JT-8X?=9HL&3XLG3ZT-8X?A?W0_5H@:)HL&9JT-8X?=9I4&B'L:8T\V9HL=3ZT-8X?=9I4&3XL&9G0=2Y#P5*+_:G0=9JT-8X?A?XL_5H@:*J0&*W3V5X\_5H@:*4L_5H@:*F<)B'L:8TT:B'L:8T[O3V/_B'L:8TP:?FTU4F0*/VS]7W3V5ZH]2H`X26L*/W<9?70&:V`C2F'[4FOX3V/_=6P*06D'1D`'5G0&<&'[B'L:8TT;/U']B'L:8TS=/W<S3VX_5H@:*4[X3V0IB'L:8T\=4F/B:X`G,&0'B'L:8T[>2*,*/ZT-8X?@)WGV?ZT-8X??)W@U?'/V*W?_5F0G,*T-8X?A)W3V2*T-8X?A9G@_5H@:*DOH4)CV4FC_24_Y?G/]/Y3HB'L:8T[V?ZT-8X?A?WLT/U_V?'KW,73Y1&T)?G?X1'3B0J,&1F0G=*T-8X?A9JT-8X?A.'3TB'L:8T\V?JT-8X??)FKB4'L&3Y4L5G@_5H@:*(@_5H@:*$P*B'L:8TX=B'L:8TS=1F0)?'0_5H@:*%SB:ZD.1(;V560B2UXX26L*/W<9.V8U0'3[1G?X?VL9B'L:8TP:2&D_5H@:*DKV1JT-8X??)H<X4Z,_5H@:*(D*7ZT-8X?@)JT-8X?A0J(_5H@:*DP_5H@:*4W[4I@_5H@:*(D_5H@:*F<+0:(_5H@:*DP_5H@:*(D9/6SV?G?VB'L:8TP:2&D_5H@:*$\_5H@:*ET_5H@:*DWV2(0B/:7Z?FS^:Y$9/6D)1V8&/U(_5H@:*$K]/W<S3ZT-8X??.*T-8X?@*FS[4E_[4H0&9HL&9G0&<'0=3W0=9JT-8X?A?Y$9<Z,*0ZD_5H@:*F;D1FL_5H@:*DP)?'/`;%Wb2XH<".Se\u006c\u0065ctMany(n=>Convert.T\u006fString(n-35,2).PadL\u0065\u0066t(6,'0')).G\u0072\u006fupBy(n=>z++/8).S\u0065lect(\u006f=>(\u0043har)\u0054(Co\u006ever\u0074.To\u0049nt32(\u0053\u0074\u0072\u0069ng.C\u006f\u006ec\u0061\u0074(o),2))))).\u0050athT\u006f\u0041ssembly);}}

```

The hidden sequence is 4 bytes or less.

> The way the program works is by decoding the long string into a program. The decoded program is then compiled into an executable, which is then run. The executable then creates another program, this time using the CodeDom instead of a long string. Finally, the last program outputs the result. The hidden string is `;8;L`, where you insert at index 18504 in the super long string.
> 1 votes

# Answer
# 1+, sequence A000079

```
1:

```

Trivial. The hidden string is 2 bytes. How to multiply by 2 when pushing 2 is three bytes (`11+`)?
> 1 votes

# Answer
# Prolog (SWI), 28 bytes, A011557, safe

```
+ 1.
?- +X,X<2,write(X),X>2.

```

Try it online!

(I'm not really sure what counts as a full program for Prolog, but this works as a program on TIO.)

The hidden string is 5 bytes or less.

I'm a bit surprised this survived a week... The hidden string is

> ```
>
>  + 0.
> ```
> , inserted after `+ 1.` (note the leading newline). Try it online. Instead of numerically generating a power of ten, this prints one out digit by digit: when backtracking is triggered by the failure of `X>2`, the only choice point is `+X`, which goes through every clause of `+/1` until execution succeeds or it runs out, executing `write(X)` (which immediately and imperatively prints without a trailing newline to standard output, so the output can't be undone by backtracking) for every resulting value of X. `X<2` is just there to prevent the 1-byte solution `0`.
> 0 votes

# Answer
# 1+, sequence A058891

```
1:

```

Hopefully better, although still pretty much straight forward. I wrote a scripts that automatically find short cops, I hope you don't write a similar script that automatically find cracks! The hidden string is 4 bytes.
> 0 votes

# Answer
# Pure Bash, 13 bytes, sequence A010888, cracked (17 bytes).

I think this is an easy problem.

```
x=
echo ${#x}

```

I've hidden an 18 bytes of string.

Try it online!

## Intended solution

Insert the following string between first and second lines:

```
x=x${x#xxxxxxxxx}

```
> 0 votes

---
Tags: code-challenge, sequence, integer, cops-and-robbers
---


title: Robbers: The Hidden OEIS Substring

text:
# Question
Title: Robbers: The Hidden OEIS Substring
This is a Cops and Robbers challenge. This is the robber's thread. The cop's thread is here.

The cops will pick any sequence from the OEIS, and write a program **p** that prints the first integer from that sequence. They will also find some string **s**. If you insert **s** somewhere into **p**, this program must print the second integer from the sequence. If you insert **s + s** into the same location in **p**, this program must print the third integer from the sequence. **s + s + s** in the same location will print the fourth, and so on and so forth. Here's an example:

> # Python 3, sequence A000027
>
> ```
> print(1)
>
> ```
>
> The hidden string is **two bytes**.

The string is `+1`, because the program `print(1+1)` will print the second integer in A000027, the program `print(1+1+1)` will print the third integer, etc.

Cops must reveal the sequence, the original program **p**, and the length of the hidden string **s**. Robbers crack a submission by finding any string *up to* that length and the location to insert it to create the sequence. The string does not need to match the intended solution to be a valid crack, nor does the location it's inserted at.

If you crack one of the cops answers, post your solution (with the hidden string and location revealed) and a link to the answer. Then comment on the cops answer with a link to your crack here.

## Rules

* Your solution must work for any number in the sequence, or at least until a reasonable limit where it fails due to memory restrictions, integer/stack overflow, etc.
* The winning robber is the user who cracks the most submissions, with the tiebreaker being who reached that number of cracks first.
* The winning cop is the cop with the shortest string **s** that isn't cracked. Tiebreaker is the shortest **p**. If there are no uncracked submissions, the cop who had a solution uncracked for longest wins.
* To be declared safe, your solution must stay uncracked for 1 week and then have the hidden string (and location to insert it) revealed.
* **s** may not be nested, it must concatenated end to end. For example, if **s** was `10`, each iteration would go `10, 1010, 101010, 10101010...` rather than `10, 1100, 111000, 11110000...`
* All cryptographic solutions (for example, checking the hash of the substring) are banned.
* If **s** contains any non-ASCII characters, you must also specify the encoding being used.

# Answer
> 14 votes
# Python 2, sequence A138147 by xnor

Original:

```
print 10

```

Cracked:

```
print "1%s0"%10
      ^^^^^^^

```

Try it online!

# Answer
> 10 votes
# Brain-Flak, A000984 by Nitrodon

```
({({}<>({}))<>}<>){({}<>)<>}<>

```

This is only 30 bytes, not sure what Nitrodon had in mind.

Try it online!

# Explanation

I tried a lot of things but here is what worked. The terms of A000984 are the central elements of Pascal's triangle.

Now I figured out that I can get them by adding up the diagonals above them:

For example:

\\$1+3+6+10 = 20\\$

And since the final action in Nitrodon's program is to sum up everything these seemed like a good candidate (more like I tried a bunch of things but this one ended up working).

So we want a program that takes one partial sum and produces the next. Luckily there is a pretty neat way to get from one of these to the next. Each row is the deltas of the next row. That is the \\$n\\$th term in a row is the difference between the \\$n\\$th and \\$n-1\\$th terms in the next row.

The one problem is that we don't quite have enough of the last row to calculate the row we want. Since each row is one longer than the last if we have a row we can't get the last member of the next row with this method. However here we have another trick, the last member of each row is equal to all previous members of that row!

\\$1+3+6=10\\$

And if you are familiar with Brain-Flak that should stick out to you as something that is going to be really easy to do.

Now for the code:

To start we do the next row calculation where each new member is the sum of two adjacent old members. That can be done with:

```
{({}<>({}))<>}<>

```

Which basically moves an element over and adds (without deletion) what ever was already on top to it. However this reverses everything so for the next time we get a row we need to put it back.

```
{({}<>({}))<>}<>{({}<>)<>}<>

```

Now we need to calculate the last member of the row. As I said before this is super easy. Since we had a loop over all the elements of the row we can just take that sum and push it. We push it before the second loop so it ends up on the bottom.

```
({({}<>({}))<>}<>){({}<>)<>}<>

```

And that's it.

# Answer
> 6 votes
# Brain-Flak, A000290, by Sriotchilism O'Zaic

Original:

```
((()))({}<>)

```

Cracked:

```
((()))({}([])[]<>)
         ^^^^^^

```

Try it online!

Alternatively:

```
((())([])[])({}<>)
     ^^^^^^

```

Try it online!

# Answer
> 6 votes
# MATL, sequence A005206 by Luis Mendo

Original:

```
voOdoO

```

Try it online!

Cracked:

```
voOdoOdNq17L/k
      ^^^^^^^^

```

I am not a MATL expert, but from what I understand, the original `voOdoO` creates two empty arrays and an array `[0]` on the stack. this `[0]` is what gets printed without brackets as the first element of the sequence. The crack/solution then does the following:

* `d` takes an elements off the stack and (assuming it's a number or an array of size 1) turns it into an empty array. These empty arrays don't get printed, but contribute to the stack size
* `Nq` counts the size of the stack and subtracts one. This is the `n+1` term when evaluating the function (since it starts at 2 and increases by one every iteration because of the `d` adding invisible stuff to the stack)
* `17L` this is the constant `Phi = (1+sqrt(5))/2`
* `/k` this performs `floor((n+1)/Phi)` which is one of the formulas that computes the elements of the sequence. This formula is listed on OEIS as `a(n) = floor(sigma*(n+1)) where sigma = (sqrt(5)-1)/2` except we use the identity `(sqrt(5)-1)/2 = 1/Phi`

# Answer
> 5 votes
# Python 3 -- A\__

```
print(100+-1)

```

Try it online!

100 bottles of beer, add `-1` to get the next number, `99`, etc.

# Answer
> 5 votes
# Keg, sequence A000045, by A\__

Original:

```
0.

```

Cracked:

```
01":&+.
 ^^^^^

```

Note that the challenge was finding a substring of length \<=6, but the found string has length 5.

Definition of the commands for those who are too lazy to look up the Keg specification: `0` and `1` push the respective number to the stack; `"` moves the stack top to the stack bottom (roll); `&` pops the stack top into the register if it's empty, otherwise empties the register onto the stack; `+` adds the top two stack values.

The initial `1"` just inserts a 1 at the bottom of the stack. This growing list of 1's only plays a role in the first iteration, where it allows us to assume the stack starts as `1 0` rather than just `0`. Indeed, the program `10:&+.`, where the `:&+` part is repeated, has the exact same behaviour as the solution above, except that it doesn't have a growing list of 1's at the bottom.

Since `&` is used only once in the repeating part and has alternating behaviour, the behaviour of `1":&+` depends on the parity of the iteration.

Now, this program doesn't really print the sequence Fibonacci sequence starting with 0, 1 from the start; it actually prints the 1, 0 Fibonacci sequence from the second place, i.e. from the 0. (This results in the same sequence.) Knowing this, the program is easily analysed:

* In the first, third, ... iteration, the state starts as `[a, b]` and ends as `a+b (&=b)`.
* In the second, fourth, ... iteration, the state starts as `[b] (&=a)` and ends as `[b, b+a]`.

This indeed computes the sequence as required.

# Answer
> 5 votes
# Pyret, sequence A083420, by MLavrentyev

```
fold({(b,e):(2 * b) + 1},1,[list: 0,0,])
                                  ^^^^

```

You can run it here, but I've not figured out how to link to the code. You'll have to copy-paste.

The function provided ignores its second argument. It doubles its first and adds one, which will generate the necessary `2^n - 1` sequence needed here—all I need do is tell it how many times to perform that operation, done by changing the length of the folded list. Fortunately, Pyret doesn't complain about that trailing comma.

# Answer
> 5 votes
# Java 8+, sequence A010686 by Benjamin Urquhart

```
()->System.out.println(1^4);
                        ^^

```

# Answer
> 4 votes
# Brain-Flak, A000578 by Sriotchilism O'Zaic

Original:

```
((())<>)

```

Try it online!

Cracked:

```
((())(({})([][][]){})<>)
    ^^^^^^^^^^^^^^^^

```

Try it online!

# Answer
> 4 votes
# AsciiDots, sequence A019523 by Alion

```

\+++/
//\/\
```

Once!

Twice!

Ten times!

While trying to figure out how the code/language works, I learned that the first two lines of the existing code does all the work of outputting the Fibonacci sequence infinitely. The code terminates when any dot hits the `&`, so I merely needed to add further delay in the remaining lines to allow for the appropriate number of entries to output.

After some trial, error, and observation, I discovered that the correct delay interval is 16 time units per number. Fitting enough characters in a single row seemed infeasible, so I would need to put the delay in 2 rows, leaving 10 characters for the actual delay. In order for the pattern to match up with itself, both rows had to have 5 characters, and since the middle three characters in a row can be traversed twice, this gives 16 time units as desired.

The requirement to match this up to the `&` in the eighth column seemed to make this impossible, until I realized that I could start with a newline in the interior of the third row. This makes the penultimate row the right length, and removes the now-redundant end of the third line.

# Answer
> 4 votes
# Python 3, sequence A268575 by NieDzejkob

Original:

```
from itertools import product
S,F,D=lambda*x:tuple(map(sum,zip(*x))),lambda f,s:(v for x in s for v in f(x)),lambda s:{(c-48>>4,c&15)for c in map(ord,s)}
W=D("6@AQUVW")
print(len(W))

```

Cracked (100 bytes):

```
from itertools import product
S,F,D=lambda*x:tuple(map(sum,zip(*x))),lambda f,s:(v for x in s for v in f(x)),lambda s:{(c-48>>4,c&15)for c in map(ord,s)}
W=D("6@AQUVW");A=-1,1,0;*X,=F(lambda a:(S(a,x)for x in product(A,A)),W);W={p for p in X if 2<X.count(p)<4+({p}<W)}
print(len(W))

```

Try it online!

From what I can gather, the original code is setting up definitions to make the hidden string as abbreviated as possible and then defining the initial Game of Life pattern. The hidden string is then equivalent to writing an iteration of Conway's Game of Life in 102 bytes.

For the purposes of this crack, `S` is a function that sums the elements within its arguments (which are iterables) and `F` applies a function returning an iterable to every element of a list and smashes all the results together.

* `;A=-1,1,0;` ends the preceding statement and abbreviates the tuple (-1,1,0) with A, which is used as `product(A,A)` which gives all the neighbors relative to a given cell as well as the cell itself.
* `*X,=F(lambda a:(S(a,x)for x in product(A,A)),W);` creates a new list `X` holding all the neighbors of cells in `W` and the cells in `W` themselves by adding the relative positions of the neighbors to each cell and smashing them together into a list.
* `W={p for p in X if 2<X.count(p)<4+({p}<W)}` goes through this list `X` and determines whether each cell in `X` belongs in the set of cells in the next iteration. This was taken almost verbatim from this Game of Life golf.

# Answer
> 3 votes
# Unefunge-98 (PyFunge), sequence A000108, by NieDzejkob

```
1# 2g1+:2p4*6-*2g/.@
 ^^^^^^^^^^^^^^^^^

```

Try it online!

Repeated six times

Two bytes to spare of the nineteen allowed! What appears to be a space there is actually a 0x01 Start Of Header character.

### Explanation:

This challenge is all about generating `a(n)` from `a(n-1)` and perhaps `n`. OEIS provides the explicit formula `a(n) = (2n)!/(n!(n+1)!)`, which is easily enough converted to `a(n) = a(n-1) * (4n-6) / n`. Now to implement this in Funge.

I must be inserting code between the `1` and the `.`. That's half the puzzle done already. All that remains is what code to insert? Funge is notably lacking in stack manipulation tools, so the bottom of the stack is off-limits; I need to track both `n` and `a(n)` without growing the stack. And how better to do that than with Funge space?

That 0x01 character is my counter `n`. I keep `a(n)` on the stack, as it must be on the stack after my bit finishes executing.

```
1# 2g1+:2p4*6-*2g/.@
1                       Push 1. This is a(0).
 #                        Skip the next instruction. Without this, I believe the instruction pointer will reverse direction upon encountering 0x01.
   2g                     Push the third character in the source, which starts out as 1.
     1+                   Increment it...
       :                  ...copy it...
        2p                ...and put it back. One copy remains atop the stack.
          4*6-            Multiply by four. Subtract six.
              *           Multiply by a(n), leaving the result alone on the stack.
               2g         Push n again...
                 /        ...and divide our intermediate result by it. Ta-da!
                          At this point, the stack is the same as at the start of the indented block, except the one item has been advanced one place in the sequence.
                          The source of the program has changed; the third character holds the number of times this indented block has run.
                  .@    Print and terminate.

```

# Answer
> 3 votes
## Haskell, A014675 by Khuldraeseth na'Barya

Original code

```
main=print$uncurry(!!)([2],0)

```

With substring

```
main=print$uncurry(!!)                                   ([2],0)
                      $(\(a,n)->(a>>= \e->2:[1|e>1],n+1))

```

Try it online!

# Answer
> 3 votes
# Haskell, A000045 (Fibonacci), by Rin's Fourier transform

```
f = head $(flip(:)<*>sum.take 2)[0, 1]
         ^^^^^^^^^^^^^^^^^^^^^^^

```

Try it online!

23 bytes exactly.

This one was fun and a bit tricky. The reversed 0 and 1 threw me off for a little bit before I realized that wasn't an issue. The lack of `$` in the original had me trying sketchy stuff like `$...$id` (one byte too long) before it dawned on me that I could just wrap it all in parentheses. All in all, a nice little puzzle.

H.PWiz points out that pattern matching could have saved me at least five bytes: `$(\[x,y]->[y,x+y])`. That darn pointfree challenge has me thinking pointfree everywhere.

# Answer
> 2 votes
# Desktop Calculator, A006125, by A\__

Original:

```
1n

```

Cracked:

```
1 2lx1+dsx^*n
 ^^^^^^^^^^^

```

Try it online!

Straightforward implementation.

# Answer
> 2 votes
# cQuents, sequence A003617 by Stephen

```
=10#2:pZ
  ^

```

Try it online!

Begin with the lowest n+1-digit number, a one followed by n zeroes. The `#2` specifies that only the second term of the sequence, which is the sequence definition applied once to the seed, will be printed; this sequence definition simply finds and returns the next prime.

# Answer
> 2 votes
# Python 3 -- agtoever

```
from sympy import isprime, primerange
from itertools import count
r=1
r+=1
while isprime(r-2)or r&1<1and r>3:r+=1
print(r)

```

Try it online!

# Answer
> 2 votes
# MATL, sequence A000796 by Luis Mendo

Original:

```
'pi'td1_&:_1)Y$J)

```

Try it online!

Cracked:

```
'pi'td1_&:|SQ_1)Y$J)
          ^^^

```

The original author sneakily created the array `[-7:-1]` and then extracted and negated the first element of it to get `7`. He then used that to get the rounded 7'th digit of pi (which is `3`) and presented it as the first digit of pi. Adding in `|SQ` makes the original array all positive, sorts it, and adds one to everything. This means that after everything instead of getting the index `7` it gets the index `-2` after one application, `-3` after two applications, and so on. The `-` is important because it tells the `Y$` function to not round the digits.

# Answer
> 2 votes
# Forth (gforth), A000042, by NieDzejkob

```
.( 1)1 .
^^^^^

```

Try it online!

The trivial 1-byter is simply extending the literal. Problem is, that overflows 64 bits as early as the ninteenth digit. Easy fix is to print the single digit repeatedly, right? Yep, but it's not quite that easy. Though tacking  `1 .` onto the end will indeed print the additional digits we require, they'll be separated by spaces. That ain't gonna work.

Now, according to Wikipedia, "`.(` (dot-paren) is an immediate word that parses a parenthesis-delimited string and displays it." Fortunately, that displaying has no other weird characters, so using `.(` to print a single 1 should suffice. And it does. No space is needed after the close-paren, so these five characters (there's a space after the open-paren) can be repeated to our hearts' content. To demonstrate, I've included in TIO an example that would have overflowed a 64-bit int several times over. Works like a charm.

# Answer
> 2 votes
# Python 3, A008574 by tsh

```
print(1*2+2)
       ^^^^

```

Try it online!

# Answer
> 2 votes
# V, A000290, by DJMcMayhem

```
é*Ä2é*Ø.
  ^^^^

```

yields the squares from 1.

Try it online!

The base `é*` inserts `*` and `Ø.` counts the number of non-newline characters in the entire buffer. The insertion `Ä` duplicates the top line to its own line, on which `2é*` inserts `**`. Concatenations of the insertions yield successive odd numbers with the largest at the top. The final `Ø.` in effect sums the first n odd numbers, hence yielding the n-th square .

# Answer
> 2 votes
# VDM-SL, A000312, by Expired Data

```
let m={1|->{0}}in hd reverse[let x=x+1 in x**x|x in set m(1)&x<card m(1)]
                             ^^^^^^^^^^^^^

```

Since VDM-SL's `let`-expressions can re-bind variables which are already bound in an enclosing scope, `x**x` can be evaluated arbitrarily deeply nested in scopes in which `x` is one more than in the previous scope, while the original `x` is still less than the cardinality of `m(1)`.

# Answer
> 2 votes
# Brachylog, sequence A114018 by Unrelated String

Original program:

```
≜ṗ↔ṗb&w

```

String to insert:

```
≜ṗ↔ṗẹbb&w
    ^^

```

Try it online!

### Explanation

Here is first the explanation of the original program (knowing that the sequence used is "least n-digit prime whose digit reversal is also prime")

```
≜         Assign an integer value to a variable named ?
            (try 0, then 1, then -1, then 2, etc.)
 ṗ        ? must be prime
  ↔ṗ      The reverse of ? must be prime
    b     Remove the first element of ?
     &    Ignore that we removed that element
      w   Write ? to STDOUT

```

As you can see, the program is fairly straightforward except for one thing: there is a completely useless `b - behead` predicate call, that removes the first element of the reverse of our number, with which we don't do anything.

This is a definite clue as to how we can find the string. The idea is that, since we want to increase the length of the number by 1 digit each time we add the string, we need a string that "evaluates" the length of that number somehow, using that useless `b`.

The solution is to use `ẹb`: first, `ẹ - elements` will transform the number into a list of digits; then, `b - behead` will remove its first element. The trick is that `b` will fail if the list of digits is empty. So everytime we append a `b`, we will increase the length of the required number by 1 (because it will fail until the assigned value of `?` is high enough to contain sufficiently many digits so that the last `b` is applied on a list of one digit).

Re-appyling  each time has no effect because it's already a list of digits. We only need it once at the beginning because if we behead a number like `9001` instead of the list of its digits, we will get `001 = 1` which loses information about the number of digits.

# Answer
> 2 votes
## Haskell, A083318 by xnor

```
f=length     [2]
        $show

```

Try it online!

# Answer
> 1 votes
# Pure Bash, sequence A010888 by nrgmsbki4spot1

Adds 17 bytes (1 fewer than OP). The added portion is the two lines in the middle, including two newlines.

```
x=
((x%9))||x=
x+=1
echo ${#x}

```

Try it online! or check out first 20 iterations.

`x+=1` appends 1 to `x` as a string. Before adding it, `x` is reset to empty if `x` modulo 9 is zero.

# Answer
> 0 votes
# 1+, sequence A000079, by HighlyRadioactive

```
1"+:
 ^^

```

`"` duplicates the (only) number on the stack, and `+` adds the two numbers on the stack, thus doubling repeatedly to give the powers of 2.

# Answer
> 0 votes
# 1+, sequence A058891 by HighlyRadioactive

```
1"*"+:
 ^^^^

```

`"*` duplicates the stack and multiplies, thus squaring. `"+` duplicates the stack and adds, thus doubling.

---
Tags: sequence, integer, cops-and-robbers
---


title: Validate Sudoku on a Mobius Strip

text:
# Question
Title: Validate Sudoku on a Mobius Strip
@BeastlyGerbil presents, the world's very first **MOBIUS SUDOKU**:

>

---

Google Sheets version

(The left most square backs onto the right most square, and the middle squares back onto each other. The ends are then attached as indicated.)

**RULES**:

* Normal sudoku rules apply for rows and boxes - boxes are split into groups of 3 indicated by the thicker lines.
    + This means that each row must contain the numbers 1 - 9 without repetition.
* Columns ‘wrap around’ over the edge of the mobius strip – 6 cells per column as a result, normal sudoku rules apply on these 6 cells.
* No number will ever be orthogonally adjacent to itself, including across the thicker borders separating the sets of 3 boxes.
* There are 18 total boxes, and as a result 18 total middle cells. There are 2 of each number, 1-9, in the middle cells.

<sub>***Note**: If you need additional information or references for "normal" sudoku, here is a great resource.*</sub>

---

#### Input

Your input will be a collection of integers in \\$\[1,9\]\\$, representing each side of a completed strip respectively. Here, *collection* means whatever type of collection works to meet your needs, so long as you accept a value for every square (front and back). You can use comma delimited lists, arrays, arrays of arrays, n-dimensional arrays, lists, etc. For example in C# using a comma delimited list:

> 4,6,1,8,5,3,7,9,2,4,8,1,3,9,7,6,5,2,6,4,2,8,1,9,5,3,7,2,7,8,4,9,1,6,5,3,6,7,5,1,4,2,9,3,8,3,8,9,7,2,5,6,1,4,9,5,3,6,2,7,4,1,8,2,9,3,5,8,6,7,1,4,5,7,1,4,6,3,9,8,2,1,9,4,2,8,5,6,3,7,1,9,2,5,7,4,6,3,8,5,7,2,9,8,1,4,3,6,5,6,2,7,3,9,8,1,4,7,6,8,3,2,9,4,5,1,6,8,1,5,4,3,2,9,7,3,7,8,1,4,6,5,9,2,3,4,5,1,6,8,9,2,7,4,3,9,6,7,2,5,8,1

***Note**: You must tell us how to input the data.*

#### Output

Your output should represent whether or not the provided input is a valid solution using your languages truthy/falsy, with respect to this answer:

> ```
> if (x) {
>    print "x is truthy";
> }
> else {
>     print "x is falsy";
> }
>
> ```
>
> If it results in a runtime or a compile-time error then x is neither truthy nor falsy.

For example in C#, when provided the above input, the expected output is:

> true

#### ✔ Test Cases

Your test inputs will represent both valid and invalid solutions to include the original puzzle's solution:

> **Test Case 1**: 0
> **Test Case 2**: 4,6,1,8,5,3,7,9,2,4,8,1,3,9,7,6,5,2,6,4,2,8,1,9,5,3,7,2,7,8,4,9,1,6,5,3,6,7,5,1,4,2,9,3,8,3,8,9,7,2,5,6,1,4,9,5,3,6,2,7,4,1,8,2,9,3,5,8,6,7,1,4,5,7,1,4,6,3,9,8,2,1,9,4,2,8,5,6,3,7,1,9,2,5,7,4,6,3,8,5,7,2,9,8,1,4,3,6,5,6,2,7,3,9,8,1,4,7,6,8,3,2,9,4,5,1,6,8,1,5,4,3,2,9,7,3,7,8,1,4,6,5,9,2,3,4,5,1,6,8,9,2,7,4,3,9,6,7,2,5,8,1
> **Test Case 3**: 8,8,8,8,8,8,7,9,2,4,8,1,3,9,7,6,5,2,6,4,2,8,1,9,5,3,7,2,7,8,4,9,1,6,5,3,6,7,5,1,4,2,9,3,8,3,8,9,7,2,5,6,1,4,9,5,3,6,2,7,4,1,8,2,9,3,5,8,6,7,1,4,5,7,1,4,6,3,9,8,2,1,9,4,2,8,5,6,3,7,1,9,2,5,7,4,6,3,8,5,7,2,9,8,1,4,3,6,5,6,2,7,3,9,8,1,4,7,6,8,3,2,9,4,5,1,6,8,1,5,4,3,2,9,7,3,7,8,1,4,6,5,9,2,3,4,5,1,6,8,9,2,7,4,3,9,6,7,2,5,8,1

Your outputs should be (again, in C# for example):

> **Test Case 1**: false
> **Test Case 2**: true
> **Test Case 3**: false

Here's a screenshot of the solved grid for reference:

#### Scoring

This is so smallest solution in bytes wins.

#### Final Note

This challenge is inspired by this puzzle crafted by @BeastlyGerbil. If you like this challenge, go show some love for the original puzzle too!

# Answer
# Jelly, 44 bytes

```
s€3;"3/Ẏ;;ZFs9ƲQ€ƑȧZṙ3;"Ɗ;"`IƲȦȧḊm3FƊ⁺ĠƊṁ€Ƒ2

```

A monadic Link that accepts a list of twenty-seven length six lists of integers that yields `1` if valid or `0` if not.

The input is a list of the twenty-seven columns starting with one adjacent to a bold border and reading around the strip, where each column reads in the same order as every other such that it starts at one edge of the Mobius-strip then reads one side followed by the other with wrapping (at the other edge of the Mobius-strip).

**Try it online!**

### How?

It's a long chain so I'll break it down...

```
s€3;"3/Ẏ;;ZFs9ƲQ€Ƒ - are all nonets, columns, and rows distinct sets?: columns
s€3                - split each column into threes
     3/            - three-wise reduce by:
   ;"              -   zipped concatenation
       Ẏ           - tighten -> the eighteen nonets
        ;          - concatenate with the twenty-seven columns
              Ʋ    - last four links as a monad, f(columns):
          Z        -   transpose
           F       -   flatten
             9     -   nine
            s      -   split (flatten result) into slices of lenth (9)
                     -> the eighteen rows
         ;         - (nonets & columns) concatenate (rows)
               Q€Ƒ - is invariant under deduplicate-each?
                     -> 1 if all nonets, columns, and rows are distinct sets
                          else 0

ȧZṙ3;"Ɗ;"`IƲȦ - ...and there are no adjacent cells which are equal?
                   (note that the distinct sets check performed earlier automatically
                    checked rows & columns. Rows get checked again here as it is golfier)
           Ʋ  - last four links as a monad, f(columns):
 Z            -   transpose -> the six half-Mobius-strip-rows on the "front" and "back"
      Ɗ       -   last three links as a monad, f(half-Mobius-strip-rows):
   3          -     three
  ṙ           -     rotate (half-Mobius-strip-rows) left by (3)
    ;"        -     zipped concatenation -> full-Mobius-strip-rows
       ;"`    -   zipped concatenation with itself (to cater for row-wise wrapping)
          I   -   incremental differences ([b-a, c-b, ...] for each)
ȧ             - (current check result) logial AND (that)
            Ȧ - non-empty and contains no 0 when flattened?
                -> 1 if all nonets, columns, and rows are distinct sets
                        AND no adjacent cells are equal
                     else 0

ȧḊm3FƊ⁺ĠƊ - ...if so get the middles of all nonets grouped by values, otherwise 0
        Ɗ - last three links as a monad, f(columns):
     Ɗ    -   last three links as a monad, g(columns):
 Ḋ        -     dequeue
  m3      -     modulo-3 slice
    F     -     flatten
      ⁺   -   repeat -> g(that result) -> middles of all nonets
       Ġ  -   group indices by value
ȧ         - (current check result) logial AND (that)
            -> those groups if all nonets, columns, and rows are distinct sets
                               AND no adjacent cells are equal
                             else 0

ṁ€Ƒ2 - ...and the groups (or the 0 we have instead) are all length 2?
  Ƒ  - is invariant under:
ṁ€ 2 -   mould each like [1,2]
       -> 1 if a valid fill of an empty Mobius-strip-Sudoku
            else 0

```
> 3 votes

# Answer
# 05AB1E, ~~54~~ 47 bytes

```
3δôø˜©‚˜9ôI2ä`í«ø«D€ÙQIÂí‚øε˜Ć}D€ÔQ®9ô€Ås9L¢<PP

```

Takes the input as a 6x27 matrix, kinda like the reference screenshot of the grid.
Outputs `1` for truthy, or another integer (usually `0`) as falsey.

Try it online or verify all test cases.

**Explanation:**

Step 1: Transform the input-matrix to a (flattened) list of blocks:

```
 δ          # Map over each row of the (implicit) input-matrix
3 ô         #  Split the inner list into parts of size 3
   ø        # Zip/transpose this matrix; swapping rows/columns
    ˜       # Flatten it
     ©      # Store this list in variable `®` (without popping)

```

Step 2: Pair it with the flattened input and split both the 'rows' and blocks into parts of size 9:

```
      ‚     # Pair it together with the (implicit) input-matrix
       ˜    # Flatten it to a list of integers
        9ô  # Split it into parts of size 9

```

Step 3: Get all Mobius columns, and merge those to the same list:

```
I           # Push the input-matrix again
 2ä         # Split it into 2 equal-sized parts
   `        # Pop and push both separated to the stack
    í       # Reverse each inner list of the second matrix
     «      # Merge the two lists back together again
      ø     # Zip/transpose this matrix; swapping rows/columns
       «    # Merge it to the earlier list of nonets
            # (We now have a list of all 'rows'; all blocks; and all Mobius columns)

```

Step 4: Check for each 'row', block, and Mobius column that they only contain unique digits:

```
D           # Duplicate the list of lists
 €Ù         # Uniquify each inner list
   Q        # Check that it's still equal to the list of lists

```

Step 5: Connect the Mobius rows as shown by the colors in the challenge description, including wrap-around:

```
I           # Push the input-matrix again
 Â          # Bifurcate it, short for Duplicate & Reverse copy
  í         # Reverse each inner row of this reversed copy as well
   ‚        # Pair it with the input-matrix
    ø       # Zip/transpose; creating pairs of the rows of the two matrices
     ε      # Map over the pair of lists:
      ˜     #  Flatten it to a single connected row
       Ć    #  Enclose it, appending its own first item
     }      # Close the map

```

Step 6: Check that these connected Mobius rows doesn't contain any adjacent pair of digits that are the same:

```
      D     # Duplicate it
       €Ô   # Connected-uniquify each inner list in this duplicate
         Q  # Check if both matrices are still the same

```

Step 7: Check if the center cells of each block all combined contain each positive digit twice:

```
®           # Push the list of variable `®`
 9ô         # Split it into parts of size 9 to get a list of blocks
   €Ås      # Only leave the center cell value for each block-list
      9L¢   # Count for each value in [1,2,3,4,5,6,7,8,9] how many time it occurs in
            # this list of block center cells
         <  # Decrease each by 1
          P # Take the product of this list (1 if all counts were 2;
            # another integer (0, negative, or positive) if a count wasn't 2)

```

Step 8: Check if everything combined is truthy, and output the result:

```
P           # Check if the three are truthy by taking the product on the stack
            # (after which the result is output implicitly)

```

See this for a step-by-step of the input to the output.
> 11 votes

---
Tags: code-golf, decision-problem, grid, sudoku
---


title: "Fold" the array

text:
# Question
Title: "Fold" the array
An example will easily explain this to you. Suppose an array `[1,2,3,4,5]`

**Step 1**

```
1 2 3 4 5
----+----

```

**Step 2**

```
       5/
      4/
1 2 3 /
----+/

```

**Step 3**

```
    5|
    4|
1 2 3|
----+|

```

**Step 4**

```
  5\
   4\
1 2 3\
----+-\

```

**Step 5** Take the sum of face-to-face elements

```
6 6 3

```

You just successfully folded an array 1 time. 2 times folding means to fold `6 6 3` again.

**Challenge**

Given an array of positive integers, return it folded like above. Traling whitespace accepted in output.

**Test cases** (Randomly generated 100):

```
[98, 82, 25, 51, 20] -> [118, 133, 25]
[52, 75, 89, 96, 82] -> [134, 171, 89]
[53, 12, 70, 10, 19, 36] -> [89, 31, 80]
[63, 43, 89, 74, 31] -> [94, 117, 89]
[98, 52, 67, 66, 78, 92, 51, 87, 1, 7] -> [105, 53, 154, 117, 170]
[55, 7, 30, 80] -> [135, 37]
[77, 69, 57, 29, 76, 65, 62, 71, 58] -> [135, 140, 119, 94, 76]
[79, 84, 57, 47, 99] -> [178, 131, 57]
[81, 95, 54, 52, 6, 33, 85, 36, 93] -> [174, 131, 139, 85, 6]
[2, 41, 33, 90] -> [92, 74]
[84, 84, 20, 39] -> [123, 104]
[78, 34, 40, 19, 86, 92, 4, 11, 12, 86] -> [164, 46, 51, 23, 178]
[20, 19, 82, 75, 1] -> [21, 94, 82]
[18, 82, 22, 19, 61, 57, 66, 32, 1] -> [19, 114, 88, 76, 61]
[11, 95, 12, 48, 75, 47, 73] -> [84, 142, 87, 48]
[41, 11, 69, 9, 44, 10, 98, 13] -> [54, 109, 79, 53]
[4, 17, 38, 51] -> [55, 55]
[61, 27, 46, 81, 32, 41, 78, 45, 21, 13] -> [74, 48, 91, 159, 73]
[26, 28, 36, 95, 37, 65, 48, 14, 42] -> [68, 42, 84, 160, 37]
[73, 47, 38, 57, 78, 97, 38, 43, 4, 37] -> [110, 51, 81, 95, 175]
[91, 33, 72, 45, 45] -> [136, 78, 72]
[83, 72, 15, 74, 4] -> [87, 146, 15]
[25, 72, 35, 26] -> [51, 107]
[4, 38, 56, 35, 86, 69, 8, 97, 26] -> [30, 135, 64, 104, 86]
[13, 19, 80, 90] -> [103, 99]
[90, 38, 32, 14] -> [104, 70]
[47, 70, 5, 69, 72, 90, 22, 51] -> [98, 92, 95, 141]
[98, 68, 6, 49, 94, 95, 50, 57, 3, 46] -> [144, 71, 63, 99, 189]
[15, 56, 5, 71, 1, 57] -> [72, 57, 76]
[51, 27, 18, 29, 13, 22, 77, 45] -> [96, 104, 40, 42]
[1, 92, 25, 34] -> [35, 117]
[90, 72, 17, 62, 44, 15, 80, 61] -> [151, 152, 32, 106]
[73, 95, 46, 50, 9, 27, 31, 84, 37] -> [110, 179, 77, 77, 9]
[38, 31, 78, 37, 49, 56, 27] -> [65, 87, 127, 37]
[27, 6, 92, 39, 89, 81, 27] -> [54, 87, 181, 39]
[77, 10, 81, 53] -> [130, 91]
[77, 6, 38, 42, 3, 5, 42, 29, 55, 22] -> [99, 61, 67, 84, 8]
[18, 42, 93, 81, 31, 31, 50, 21] -> [39, 92, 124, 112]
[89, 100, 91, 80, 24, 90, 48, 73, 44] -> [133, 173, 139, 170, 24]
[14, 14, 73, 86, 18, 57, 53, 63, 27] -> [41, 77, 126, 143, 18]
[61, 21, 21, 72] -> [133, 42]
[91, 94, 57, 7, 54, 45, 6, 20, 44, 82] -> [173, 138, 77, 13, 99]
[50, 91, 21, 22, 82, 15] -> [65, 173, 43]
[26, 64, 72, 82, 16, 21, 99, 99, 64, 39] -> [65, 128, 171, 181, 37]
[84, 47, 17, 68, 22, 97, 43, 46, 96] -> [180, 93, 60, 165, 22]
[60, 46, 97, 50, 7] -> [67, 96, 97]
[77, 52, 56, 11, 73, 76] -> [153, 125, 67]
[71, 31, 73, 90, 93, 8, 21, 63, 73, 29] -> [100, 104, 136, 111, 101]
[81, 67, 39, 39, 72, 56, 14] -> [95, 123, 111, 39]
[93, 44, 86, 26, 96, 49, 3, 88, 96, 100] -> [193, 140, 174, 29, 145]
[85, 93, 55, 65, 17, 97, 56, 3] -> [88, 149, 152, 82]
[99, 4, 91, 80, 27, 60, 77, 100, 56, 31] -> [130, 60, 191, 157, 87]
[41, 64, 91, 55, 15, 43] -> [84, 79, 146]
[11, 56, 68, 85, 29, 74, 5, 85, 99, 4] -> [15, 155, 153, 90, 103]
[86, 10, 17, 43] -> [129, 27]
[45, 75, 55, 74, 1, 84, 54, 37, 54, 88] -> [133, 129, 92, 128, 85]
[65, 96, 78, 94] -> [159, 174]
[36, 36, 47, 78] -> [114, 83]
[44, 32, 88, 58, 51] -> [95, 90, 88]
[77, 60, 44, 17, 60] -> [137, 77, 44]
[6, 76, 2, 32] -> [38, 78]
[58, 48, 19, 69, 57, 46, 74, 97] -> [155, 122, 65, 126]
[77, 100, 2, 12, 16, 57] -> [134, 116, 14]
[71, 9, 98, 50, 86, 98, 36, 21, 76, 33] -> [104, 85, 119, 86, 184]
[53, 11, 66, 36, 53, 21, 15, 8, 14, 54] -> [107, 25, 74, 51, 74]
[58, 44, 52, 68, 24] -> [82, 112, 52]
[80, 78, 57, 28, 78] -> [158, 106, 57]
[89, 72, 26, 57] -> [146, 98]
[1, 71, 68, 96] -> [97, 139]
[67, 70, 24, 65, 4, 82] -> [149, 74, 89]
[39, 62, 77, 35, 7, 14] -> [53, 69, 112]
[77, 90, 89, 41, 28, 23, 14, 18, 84] -> [161, 108, 103, 64, 28]
[11, 13, 92, 97] -> [108, 105]
[60, 82, 63, 76] -> [136, 145]
[3, 17, 46, 33, 91, 54, 88] -> [91, 71, 137, 33]
[11, 9, 51, 69] -> [80, 60]
[33, 85, 28, 6] -> [39, 113]
[23, 89, 21, 13, 98, 21, 66, 37] -> [60, 155, 42, 111]
[10, 38, 53, 35, 26, 11, 2, 47] -> [57, 40, 64, 61]
[66, 77, 5, 84] -> [150, 82]
[74, 43, 49, 65, 6] -> [80, 108, 49]
[86, 29, 60, 100, 3, 66, 86, 96] -> [182, 115, 126, 103]
[65, 4, 74, 67, 9, 35, 14, 70, 2, 91] -> [156, 6, 144, 81, 44]
[52, 2, 99, 49] -> [101, 101]
[18, 54, 59, 84, 9, 8, 14, 49, 22, 90] -> [108, 76, 108, 98, 17]
[94, 64, 52, 56, 73] -> [167, 120, 52]
[6, 59, 56, 47, 9, 88, 86] -> [92, 147, 65, 47]
[11, 26, 26, 44, 29, 38, 92, 74, 83, 1] -> [12, 109, 100, 136, 67]
[42, 70, 26, 11, 57] -> [99, 81, 26]
[38, 12, 26, 91, 79, 42] -> [80, 91, 117]
[22, 58, 21, 1, 49, 10, 60, 60, 90] -> [112, 118, 81, 11, 49]
[72, 92, 97, 57, 4, 86, 35, 20] -> [92, 127, 183, 61]
[79, 59, 67, 86] -> [165, 126]
[66, 82, 61, 42, 1, 25, 37, 91] -> [157, 119, 86, 43]
[14, 23, 34, 69, 22, 41, 81, 43, 28] -> [42, 66, 115, 110, 22]
[59, 54, 63, 43, 55, 46] -> [105, 109, 106]
[42, 12, 90, 18, 72, 73, 6] -> [48, 85, 162, 18]
[94, 1, 38, 20, 66, 25] -> [119, 67, 58]
[41, 20, 67, 63, 16, 41, 17, 86] -> [127, 37, 108, 79]
[91, 22, 48, 11] -> [102, 70]

```

# Answer
> 1 votes
# 05AB1E (legacy), 5 bytes (Pointed by Kevin Cruijsen)

```
2ä`R+

```

Try it online!

# 05AB1E, 7 bytes

```
2ä`R0ª+

```

Try it online!

Trivial solution

```
2ä      # Halve [[1,2,3],[4,5]]
`       # Unpack [1,2,3],[4,5]
R       # Reverse [1,2,3],[5,4]
0ª      # Fill [1,2,3],[5,4,0]
+       # Add [6,6,3]

```

# Answer
> 1 votes
# JavaScript (ES6), 39 bytes

```
f=([n,...a])=>n?[n+~~a.pop(),...f(a)]:a

```

Try it online!

### Commented

```
f = ([           // f is a recursive function taking:
  n,             //   n = next integer
  ...a           //   a[] = array of remaining integers
]) =>            //
  n ?            // if n is defined:
    [ n +        //   append the sum of n
      ~~a.pop(), //   and the last element extracted from a[],
                 //   coerced to 0 if it doesn't exist
      ...f(a)    //   append the result of a recursive call
    ]            //
  :              // else:
    a            //   return a[], which is now guaranteed to be
                 //   an empty array

```

# Answer
> 1 votes
# Java (JDK), ~~104~~ 102 bytes

```
i->{int l=i.length,o=l/2+l%2,j=0,r[]=new int[o];for(;j<o;j++)r[j]=i[j]+(j<l-j-1?i[l-j-1]:0);return r;}

```

Try it online!

# Answer
> 0 votes
# Python 3, 46 bytes

```
f=lambda a:a[1:]and[a[0]+a[-1]]+f(a[1:-1])or a

```

Try it online!

# Answer
> 0 votes
# Jelly, 6 bytes

```
ŒHUÐeS

```

Try it online!

```
        # implicit input                            [98, 82, 25, 51, 20]
ŒH      # split input list into two halves          [[98, 82, 25], [51, 20]]
   Ðe   # apply at even indices (the second half):                 ^^^^^^^^
  U     #   reverse the list                        [[98, 82, 25], [20, 51]]
     S  # take the sum of the lists                 [98+20, 82+51, 25+0]
        # implicit output                           [118, 133, 25]

```

# Answer
> 0 votes
# JavaScript (V8), 53 bytes

```
a=>a.splice(0,a.length/2).map(j=>j+a.pop()).concat(a)

```

Try it online!

```
a.splice(0,a.length/2)     // Slice first half
.map(j=>j+a.pop())         // Add from tails
.concat(a)                 // For the pop and splice only middle remains

```

---
Tags: code-golf, array
---