Part 1 | Part 2 |
---|---|
kgdchlfniambejop |
fjpmholcibdgeakn |
You come upon a very unusual sight; a group of programs here appear to be dancing.
There are sixteen programs in total, named a
through p
. They start by standing in a line: a
stands in position 0
, b
stands in position 1
, and so on until p
, which stands in position 15
.
The programs' dance consists of a sequence of dance moves:
- Spin, written
sX
, makesX
programs move from the end to the front, but maintain their order otherwise. (For example,s3
onabcde
producescdeab
). - Exchange, written
xA/B
, makes the programs at positionsA
andB
swap places. - Partner, written
pA/B
, makes the programs namedA
andB
swap places.
For example, with only five programs standing in a line (abcde
), they could do the following dance:
s1
, a spin of size1
:eabcd
.x3/4
, swapping the last two programs:eabdc
.pe/b
, swapping programse
andb
:baedc
.
After finishing their dance, the programs end up in order baedc
.
You watch the dance for a while and record their dance moves (your puzzle input). In what order are the programs standing after their dance?
Now that you're starting to get a feel for the dance moves, you turn your attention to the dance as a whole.
Keeping the positions they ended up in from their previous dance, the programs perform it again and again: including the first dance, a total of one billion (1000000000
) times.
In the example above, their second dance would begin with the order baedc
, and use the same dance moves:
s1
, a spin of size1
:cbaed
.x3/4
, swapping the last two programs:cbade
.pe/b
, swapping programse
andb
:ceadb
.
In what order are the programs standing after their billion dances?