#!/usr/bin/env python3 from useful import * m = defaultdict(lambda: 0) def dirs(d): return [d[1:l+1] for l in range(len(d))] def dirstr(d): return '/'.join(d) def plus(d, n): for x in dirs(d): m[dirstr(x)] += n def cd(d): global cur if d == '/': cur = [d,] elif d == '..': cur = cur[:-1] else: cur += [d,] cur = [] ls = lines(open(0)) for l in ls: if re.match(r'\$ cd', l): cd(l.split()[-1]) else: for n in numbers(l): plus(cur, n) print(sum(x for x in m.values() if x <= 100000)) print(sorted(v for v in m.values() if v >= m[''] - 40000000)[0])