A *Turing machine* uses a read-write head that traverses the squares of an unbounded roll of toilet paper, where only a `0` or a `1`
can be written in a square:

The controller can be wired
as a "processor" that understands these six instructions:
`
* move Left/Right one square
* erase the square (make it blank)
* write 0/1 on the square
* if square is blank/0/1, then goto Instruction #n
* goto Instruction #n
* stop
`

Here is a sample program that scans a binary number from left to right and flips all 0s to 1s and all 1s to 0s:
`
#1: if square is 0, then goto #4
#2: if square is 1, then goto #6
#3: if square is blank, then goto #9
#4: write 1
#5: goto #7
#6: write 0
#7: move Right
#8: goto #1
#9: stop`
... => ...

### Exercise

Use the instructions for the Universal Turing Machine to write a program
for it that will read a binary int and add one to it. The machine
starts at the first blank square to the left of the int,
V
| |1|0|1|1| | and it moves to the right of the int,
till it finds the rightmost digit:
V
| |1|0|1|1| | Then it adds one and does the needed carries
until it is finished:
V V
| |1|1|0|0| | Finally, it resets to its start position: | |1|1|0|0| |