#!/usr/bin/env python3 from useful import * def d(p): return np.asarray({ 'R': [0,1], 'L': [0,-1], 'D': [1,0], 'U': [-1,0]}[p]) p = [[d(l[0]), int(l.split()[-1])] for l in lines(open(0))] a = defaultdict(lambda: 0) b = defaultdict(lambda: 0) r = [np.asarray([0, 0]) for i in range(10)] for s, l in p: for i in range(l): r[0] += s for i in range(1, 10): if(np.any(np.absolute(r[i-1] - r[i]) > 1)): r[i] = r[i-1] + np.fix((r[i] - r[i-1]) / 2) a[str(r[1])] = True b[str(r[9])] = True print(len(a.values())) print(len(b.values()))