Advent of Code --- Day 16: Permutation Promenade --- 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, makes X programs move from the end to the front, but maintain their order otherwise. (For example, s3 on abcde produces cdeab). * Exchange, written xA/B, makes the programs at positions A and B swap places. * Partner, written pA/B, makes the programs named A and B swap places. For example, with only five programs standing in a line (abcde), they could do the following dance: * s1, a spin of size 1: eabcd. * x3/4, swapping the last two programs: eabdc. * pe/b, swapping programs e and b: 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? Your puzzle answer was ________________. --- Part Two --- 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 size 1: cbaed. * x3/4, swapping the last two programs: cbade. * pe/b, swapping programs e and b: ceadb. In what order are the programs standing after their billion dances? Your puzzle answer was ________________. Both parts of this puzzle are complete! They provide two gold stars: ** At this point, you should return to your advent calendar and try another puzzle. If you still want to see it, you can get your puzzle input. References Visible links . http://adventofcode.com/ . http://adventofcode.com/2017/about . http://adventofcode.com/2017/support . http://adventofcode.com/2017/events . http://adventofcode.com/2017/settings . http://adventofcode.com/2017/auth/logout . http://adventofcode.com/2017 . http://adventofcode.com/2017 . http://adventofcode.com/2017/leaderboard . http://adventofcode.com/2017/stats . http://adventofcode.com/2017/sponsors . http://adventofcode.com/2017/sponsors . http://adventofcode.com/2017 . http://adventofcode.com/2017/day/16/input