# e = 0
#
#
# def f(d, q, a, n):
# global e
# q[a] = 1
# e += 1
# for i in range(1, n + 1, 1):
# if q[i] == 0 and d[a][i] == 1:
# f(d, q, i, n)
#
#
# def f1(d, q, a, n):
# global e
# q[a] = 1
# e += 1
# for i in range(1, n + 1, 1):
# if q[i] == 0 and d[i][a] == 1:
# f1(d, q, i, n)
#
#
# def g(n, q):
# for i in range(n + 1):
# q[i] = 0
#
#
# def solution(n, results):
# global e
# answer = 0
# k = len(results)
# d = []
# q = [0] * (n + 1)
# for i in range(n + 1):
# v = [0] * (n + 1)
# d.append(v)
# for i in range(k):
# d[results[i][0]][results[i][1]] = 1
# for i in range(1, n + 1, 1):
# e = 0
# g(n, q)
# f(d, q, i, n)
# f1(d, q, i, n)
# if e == n + 1:
# answer += 1
#
# return answer
#
#
# aa = int(input())
# s = []
# for i in range(5):
# v1 = list(map(int, input().split()))
# s.append(v1)
# print(solution(aa, s))
# def g(d, n, a):
# p = 0
# for i in range(1, n + 1, 1):
# if i == a:
# continue
# if d[i][a] == 1:
# p += 1
# else:
# break
# return p
#
#
# def solution(n, results):
# answer = 0
# k = len(results)
# d = []
# for i in range(n+1):
# v = [0] * (n+1)
# d.append(v)
# for i in range(k):
# d[results[i][0]][results[i][1]] = 1
# d[results[i][1]][results[i][0]] = 1
# for i in range(1, n + 1, 1):
# if g(d, n, i) == n - 1:
# answer += 1
# return answer
# def solution(triangle):
# answer = 0
# k = len(triangle)
# me = []
# for i in range(k):
# v = [0] * (i + 1)
# me.append(v)
# for i in range(k):
# me[k - 1][i] = triangle[k - 1][i]
# for i in range(k - 2, -1, -1):
# for j in range(i + 1):
# if me[i + 1][j] > me[i + 1][j + 1]:
# me[i][j] = me[i + 1][j] + triangle[i][j]
# else:
# me[i][j] = me[i + 1][j + 1] + triangle[i][j]
# answer = me[0][0]
# return answer
#
#
# d = []
# for i in range(5):
# v = list(map(int, input().split()))
# d.append(v)
# print(solution(d))