# Hot

Paradigm(s) Functional User:Hakerh400 2021 Turing complete Unimplemented `.txt`

Hot is a computational model inspired by Zot. Hot is a pure functional language. All functions are side-effect-free, including I/O operations (from the perspective of the program itself, of course). The main difference between Zot and Hot is that the I/O actions in Hot are much simpler and more concise that the I/O actions in Zot.

## Overview

Hot has the following combinators:

```K, S, F, A, B, C, D, 0, 1
```

And the following rewriting rules:

```K x y   ---> x
S x y z ---> x z (y z)
F x     ---> x B A
A x     ---> x #       // # is the next input bit
B x     ---> x D C
C x     ---> x         // and output bit 0
D x     ---> x         // and output bit 1
0 x y   ---> y
1       ---> K
```

Unlike in other calculi (such as SKI, Jot, Iota, Zot, etc), rewriting rules in Hot can be applied only at the beginning of the main expression. For example, in the following expression:

```0 (C K) (D K)
```

we cannot reduce `(C K)` or `(D K)`, because they are not at the beginning of the main expression. We can only reduce `0`, so the expression becomes:

```D K
```

and now we can reduce it to `K` and output bit `1`.

Also, another difference between SKI and Hot is that a program in Hot does not halt on its own. Instead, if there are not enough arguments to perform the leftmost reduction, we append required number of `F` combinators. For example, if the source code consists only of combinator `K`, we clearly cannot apply any reduction. So, we append two `F` combinators, because `K` takes two arguments:

```K F F
```

Then we reduce it to

```F
```

Now, `F` takes one argument, so we append another `F` and the main expression becomes:

```F F
```

Then we keep reducing it (assuming all input bits are 0):

```F B A
B B A A
B D C A A
D D C C A A
D C C A A    // out 1
C C A A      // out 1
C A A        // out 0
A A          // out 0
A 0
0 0
0 0 F
F
F F
...
```

## I/O format

Input is a binary string. Each bit of the string is prepended with 1 and then infinitely many 0s are appended. Similarly, when the program outputs 0 on an even position (0-indexed), then the program halts and the output is the sequence of bits at odd positions.

For example, if we feed input string `1011` to a Hot program, it will be transformed into

```1110111100000000000000000000...
```

And suppose the program produces string

```1010110|1010001010110101...
```

The `|` represents the point at which the program halts (because 0 appeared on an even position) and the rest of bits are ignored. The output is `001`.

## Examples

### Truth machine

Code:

```S(S(K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))))(S(SKK)(K(SK))))(S(SKK)(KK))
```

Step-by-step computation for the case when the input is `0`:

```S(S(K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))))(S(SKK)(K(SK))))(S(SKK)(KK))
S(K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))))(S(SKK)(K(SK)))F(S(SKK)(KK)F)
K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))))F(S(SKK)(K(SK))F)(S(SKK)(KK)F)
S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)
K(S(S(SKK)(KK)))(S(SKK)(K(SK))F)(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(S(SKK)(KK))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(SKK)(KK)(S(SKK)(KK)F)(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKK(S(SKK)(KK)F)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
K(S(SKK)(KK)F)(K(S(SKK)(KK)F))(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
S(SKK)(KK)F(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKKF(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KF(KF)(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
F(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KKFBA(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KBA(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
B(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KK(S(SKK)(KK)F)DC(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KDC(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
D(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
---> OUT 1
S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)
S(KS)K(S(SKK)(K(SK))F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
KS(S(SKK)(K(SK))F)(K(S(SKK)(K(SK))F))(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(K(S(SKK)(K(SK))F))(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
K(S(SKK)(K(SK))F)(S(SKK)(KK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
S(SKK)(K(SK))F(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKKF(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KF(KF)(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
F(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
K(SK)FBA(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKBA(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KA(BA)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
A(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
---> IN 1
S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)1
S(KS)K(S(SKK)(K(SK))F)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
KS(S(SKK)(K(SK))F)(K(S(SKK)(K(SK))F))(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
S(K(S(SKK)(K(SK))F))(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
K(S(SKK)(K(SK))F)(S(SKK)(KK)F)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
S(SKK)(K(SK))F(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
A(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
---> IN 0
K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F)01
S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))(S(SKK)(KK)F)01
S(K(SS))(S(SKK)(SKK))(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)01
K(SS)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)01
SS(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)01
S(S(SKK)(KK)F)(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F))01
S(SKK)(KK)F0(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)0)1
B0(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)0)1
0DC(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)0)1
C(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)0)1
---> OUT 0
S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)01
SKK(S(K(SS))(S(SKK)(SKK)))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)01
K(S(K(SS))(S(SKK)(SKK)))(K(S(K(SS))(S(SKK)(SKK))))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)01
S(K(SS))(S(SKK)(SKK))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)01
K(SS)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)01
SS(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)01
S(S(SKK)(KK)F)(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F))01
S(SKK)(KK)F0(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)0)1
B0(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)0)1
0DC(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)0)1
C(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)0)1
---> OUT 0
---> HALT
```

Explanation: when the input is `0`, it means that the program sees the following sequence of bits in the input (see the I/O format section for details):

```100000000000...
```

The program then outputs:

```100
```

the second 0 appears on an even position, so the program halts and the actual output is `0`.

Here is the step-by-step computation for the case when the input is `1`:

```S(S(K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))))(S(SKK)(K(SK))))(S(SKK)(KK))
S(K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))))(S(SKK)(K(SK)))F(S(SKK)(KK)F)
K(S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))))F(S(SKK)(K(SK))F)(S(SKK)(KK)F)
S(K(S(S(SKK)(KK))))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)
K(S(S(SKK)(KK)))(S(SKK)(K(SK))F)(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(S(SKK)(KK))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(SKK)(KK)(S(SKK)(KK)F)(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKK(S(SKK)(KK)F)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
K(S(SKK)(KK)F)(K(S(SKK)(KK)F))(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
S(SKK)(KK)F(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKKF(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KF(KF)(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
F(KKF)(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KKFBA(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KBA(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
B(KK(S(SKK)(KK)F))(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KK(S(SKK)(KK)F)DC(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KDC(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
D(S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
---> OUT 1
S(S(KS)K)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)
S(KS)K(S(SKK)(K(SK))F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
KS(S(SKK)(K(SK))F)(K(S(SKK)(K(SK))F))(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
S(K(S(SKK)(K(SK))F))(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F))(S(SKK)(KK)F)
K(S(SKK)(K(SK))F)(S(SKK)(KK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
S(SKK)(K(SK))F(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKKF(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KF(KF)(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
F(K(SK)F)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
K(SK)FBA(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
SKBA(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
KA(BA)(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
A(S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F))
---> IN 1
S(S(KS)K)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))))(S(SKK)(K(SK))F)(S(SKK)(KK)F)1
S(KS)K(S(SKK)(K(SK))F)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
KS(S(SKK)(K(SK))F)(K(S(SKK)(K(SK))F))(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
S(K(S(SKK)(K(SK))F))(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F))(S(SKK)(KK)F)1
K(S(SKK)(K(SK))F)(S(SKK)(KK)F)(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
S(SKK)(K(SK))F(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
A(K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F))1
---> IN 1
K(S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK)))(S(SKK)(K(SK))F)(S(SKK)(KK)F)11
S(S(K(SS)))(S(K(SS)))(S(SKK)(SKK))(S(SKK)(KK)F)11
S(K(SS))(S(SKK)(SKK))(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)11
K(SS)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
SS(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
S(S(SKK)(KK)F)(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F))11
S(SKK)(KK)F1(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)1)1
B1(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)1)1
1DC(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)1)1
KDC(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)1)1
D(S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)1)1
---> OUT 1
S(SKK)(SKK)(S(K(SS))(S(SKK)(SKK)))(S(SKK)(KK)F)11
SKK(S(K(SS))(S(SKK)(SKK)))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
K(S(K(SS))(S(SKK)(SKK)))(K(S(K(SS))(S(SKK)(SKK))))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
S(K(SS))(S(SKK)(SKK))(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
K(SS)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
SS(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
S(S(SKK)(KK)F)(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F))11
S(SKK)(KK)F1(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)1)1
B1(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)1)1
1DC(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)1)1
KDC(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)1)1
D(S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)1)1
---> OUT 1
S(SKK)(SKK)(SKK(S(K(SS))(S(SKK)(SKK))))(S(SKK)(KK)F)11
SKK(SKK(S(K(SS))(S(SKK)(SKK))))(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
K(SKK(S(K(SS))(S(SKK)(SKK))))(K(SKK(S(K(SS))(S(SKK)(SKK)))))(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
SKK(S(K(SS))(S(SKK)(SKK)))(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
K(S(K(SS))(S(SKK)(SKK)))(K(S(K(SS))(S(SKK)(SKK))))(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
S(K(SS))(S(SKK)(SKK))(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
K(SS)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
SS(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
S(S(SKK)(KK)F)(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F))11
S(SKK)(KK)F1(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)1)1
B1(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)1)1
1DC(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)1)1
KDC(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)1)1
D(S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)1)1
---> OUT 1
S(SKK)(SKK)(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(S(SKK)(KK)F)11
SKK(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(SKK(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
K(SKK(SKK(S(K(SS))(S(SKK)(SKK)))))(K(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(SKK(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
SKK(SKK(S(K(SS))(S(SKK)(SKK))))(SKK(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
K(SKK(S(K(SS))(S(SKK)(SKK))))(K(SKK(S(K(SS))(S(SKK)(SKK)))))(SKK(SKK(SKK(S(K(SS))(S(SKK)(SKK))))))(S(SKK)(KK)F)11
...
```