defsolve() -> None: n = int(input()) a = list(map(int, input().split())) cnt = [[0] * 10for _ inrange(110)] # 开桶计数 for i inrange(n): if a[i] < 10: cnt[100 + a[i]][a[i] % 9] += 1 continue bit, now = 0, a[i] while now: bit += now % 10 now //= 10 cnt[a[i] % 100][bit % 9] += 1 # 统计答案 ans = 0 for i inrange(110): # 后面 for j inrange(10): for k inrange(110): for m inrange(10): if (i < 100and i % 4 != 0) or (j + m) % 9 != 0: continue if i >= 100and (i - 100 + k * 10) % 4 != 0: continue ans += cnt[i][j] * cnt[k][m]
# 减去自己和自己拼的情况 for i inrange(n): if a[i] % 4 == 0and a[i] % 9 == 0: ans -= 1
defsolve(): n = int(input()) if n == 1: x,y,z = map(int, input().split()) if x == y and z == 1: print("No") return print("Yes") return
"""n == 2""" x, y, z = map(int, input().split()) a, b, c = map(int, input().split()) if x == a and y == b and c != z: print("No") return if a == y and b == x and c != 0and z != 0: print("No") return if (a == b and c == 1) or (x == y and z == 1): print("No") return print("Yes")
defsolve(): n = int(input()) ls = [] for i inrange(1,4): for j inrange(1,4): for k inrange(1,4): ls.append((i,j,k)) vis = [[0]*n for _ inrange(27)]
for j inrange(n): x,y,z = map(int, input().split()) for i inrange(27): if z == 1and ls[i][x-1] < ls[i][y-1]: vis[i][j] = 1 if z == 0and ls[i][x-1] >= ls[i][y-1]: vis[i][j] = 1
for i inrange(27): ifsum(vis[i]) == n: print("Yes") return print("No")