#!/usr/bin/env python3 from useful import * beg, rec = headerfooter(open(0)) begl = beg.split('\n') a = np.asarray([c for l in begl for c in l]).reshape((len(begl), -1)).T[1::4,::-1] dock = [None, *[deque(c for c in l if not c in '0123456789 ') for l in a]] twock = [None, *[deque(c for c in l if not c in '0123456789 ') for l in a]] for l in rec.strip().split('\n'): num, src, dst = (int(n) for n in re.match(r'move (\d+) from (\d+) to (\d+)', l).groups()) dock[dst].extend(dock[src].pop() for i in range(num)) # ugh twock[dst].extend([twock[src].pop() for i in range(num)][::-1]) print(''.join([d.pop() for d in dock[1:]])) print(''.join([d.pop() for d in twock[1:]]))