import math def combos(record, dist): a, b, c = 1, -record, dist x1, x2 = sorted([ (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a), (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a), ]) return int(x2) - int(x1) text = open(0).read() records, distances = [[int(n) for n in line.split()[1:]] for line in text.splitlines()] print(math.prod(combos(a, b)for a, b in zip(*[records, distances]))) records, distances = [[int(''.join(line.split()[1:]))] for line in text.splitlines()] print(math.prod(combos(a, b)for a, b in zip(*[records, distances])))