import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) N = int(input()) KLD = tuple(tuple(map(int, input().split())) for _ in range(N)) def F(x): cnt = 0 for k, l, d in KLD: if x < l: continue i = 1 + (x-l)//pow(2, d) cnt += min(i, k) return cnt % 2 l = -1 r = 10**18 while r-l > 1: m = (r+l)//2 if F(m): r = m else: l = m print(r)