#!/usr/bin/env python3 import re import sys def getint(m, i): return int(m.group(i)) def parse_ts(ts): m = re.match(r'(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)', ts) assert m is not None year = getint(m, 1) month = getint(m, 2) day = getint(m, 3) hour = getint(m, 4) minute = getint(m, 5) second = getint(m, 6) return hour * 3600 + minute * 60 + second build_starts = re.compile(r'^Build starts at (?P.*)$') build_ends = re.compile(r'^Build ends at (?P.*),') action_starts = re.compile(r'^Action starts at (?P.*):$') action_ends = re.compile(r'^Action ends at (?P.*),') patterns = [ build_starts, build_ends, action_starts, action_ends, ] pairs = { build_starts: build_ends, build_ends: build_starts, action_starts: action_ends, action_ends: action_starts, } started = { build_starts: None, action_starts: None, } names = { build_starts: 'Build', action_starts: 'Action', } durations = [] for line in sys.stdin: for pat in patterns: m = pat.match(line) if m is None: continue ts = m.group('ts') if pat in started: started[pat] = parse_ts(ts) else: ended = parse_ts(ts) start_pat = pairs[pat] print(names[start_pat], ended - started[start_pat]) break