Harryxun/stf_run huggingface dataset:
import sys

bond = dict(('A', 'T'), ('T', 'A',), ('C', 'G'), ('G', 'C'))

def main():
    b = sys.stdin.readline().rstrip()
    print(bond[b])

if __name__ == "__main__":
    main()


### FIXED CODE ###

# 2019-11-12 22:21:08(JST)
import sys
# import collections
# import math
# from string import ascii_lowercase, ascii_uppercase, digits
# from bisect import bisect_left as bi_l, bisect_right as bi_r
# import itertools
# from functools import reduce
# import operator as op
# from scipy.misc import comb # float
# import numpy as np 

def main():
    b = sys.stdin.readline().rstrip()
    if b == 'A':
        ans = 'T'
    elif b == 'T':
        ans = 'A'
    elif b == 'G':
        ans = 'C'
    else:
        ans = 'G'
    
    print(ans)


if __name__ == "__main__":
    main()
S = input()
T = input()
a = o
for i in len(S):
  if S[i] != T[i]:
    a += 1
print(a)
    

### FIXED CODE ###

S = input()
T = input()
a = 0
for i in range(len(S)):
  if S[i] != T[i]:
    a += 1
print(a)
def main():
  k, N = (int(x) for in input().split())
  LIST = []
  min_LIST = []
  for i in range(N):
    l.append(int(input()))

  for i in range(len(LIST) - 1):
    min_LIST.append(LIST[i + 1] - LIST[i])
    if(min_LIST <= (LIST[i + 1] - LIST[i])):
      x = (LIST[i + 1] - LIST[i])

  if(min_LIST <= (LIST[0] + (k - LIST[-1])):
    x = (LIST[0] + (k - LIST-1]))

  sum_list = sum(min_LIST) - x

  print(sum_list)
if __name__ == "__main__":
  main()






### FIXED CODE ###

def main():
  k, N = (int(x) for x in input().split())
  min_LIST = []
  LIST = []
  LIST = list(map(int,input().split()))
  x = 0

  for i in range(len(LIST) - 1):
    min_LIST.append(LIST[i + 1] - LIST[i])
    if(x <= min_LIST[i]):
      x = min_LIST[i]

  if(N != 2):
    min_LIST.append(LIST[0] + (k - LIST[-1]))
    if(x <= (LIST[0] + (k - LIST[-1]))):
      x = (LIST[0] + (k - LIST[-1]))

  sum_list = sum(min_LIST) - x

  print(sum_list)
if __name__ == "__main__":
  main()
import math
a ,b ,c = map(int,input().split())
ra = (math.sqrt(a))
rb = (math.sqrt(b))
rc = (math.sqrt(c))
if ra + rb < rc:
    print("Yes")
elif ra + rb >= rc:
    print("No")
else:
    print("No")

### FIXED CODE ###

k = int(input())
list1 = [1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(list1[k-1])
S = input() 
data = [ tuple(map(int, input().split())) for _ in range(Q) ] 

counter = [0 for _ in range(Q)]
index = -1
while True:
	index = S.find("AC", index+1)

	if index == -1:
		break
	
	for i, (l, r ) in enumerate(data):
		if l-1 <= index < r-1:
			counter[i] += 1

for res in counter:
	print(res)


### FIXED CODE ###

N, Q = map(int, input().split())
S = input() 

t = [0] * (N + 1) 

for i in range(N):
	t[i+1] = t[i] + (1 if S[i:i+2] == "AC" else 0)

for i in range(Q):
	l, r = map(int, input().split())
	print(t[r-1] - t[l-1])
isPrime = [True] * 10001
sum = 0
sumPrime = [sum]
def calcPrime():
    global sum
    isPrime[0] = isPrime[1] = False
    for i in range(len(isPrime)):
        if(isPrime[i]):
            sum += i
            sumPrime.append(sum)
            for j in range(2 * i, len(isPrime), i):
                isPrime[j] = False
                
calcPrime()
while(True):
    n = input()
    if(n == 0):
        break
    print(sumPrime[n])

### FIXED CODE ###

isPrime = [True] * 200001
sum = 0
sumPrime = [sum]
def calcPrime():
    global sum
    isPrime[0] = isPrime[1] = False
    for i in range(len(isPrime)):
        if(isPrime[i]):
            sum += i
            sumPrime.append(sum)
            for j in range(2 * i, len(isPrime), i):
                isPrime[j] = False
                
calcPrime()
while(True):
    n = input()
    if(n == 0):
        break
    print(sumPrime[n])
n = raw_input()
m = int(raw_input())
ps = [map(int, raw_input().split()) for _ in range(m)]
ps.sort()
ps.reverse()
v = -1
ret = 0
for a,b in ps:
 if b <=va:
  ret += 1
  va = a
print ret


### FIXED CODE ###

n,m = map(int, raw_input().split())
ps = [map(int, raw_input().split()) for _ in range(m)]
ps.sort()
ps.reverse()
v = 10**100
ret = 0
for a,b in ps:
 if b <=v:
  ret += 1
  v = a
print ret
# coding=UTF-8
from collections import deque
from operator import itemgetter
from bisect import bisect_left, bisect
import itertools
import sys
import math
import numpy as np
import time

n, x, y = map(int, input().split())
tree = [[0] * n for i in range(n)]

for i in range(1, n):
    for j in range(i+1, n+1):
        # if i <= x and j >= y:
        #     tree[i - 1][j - 1] = j-i-(y - x - 1)
        # elif i <= x and j < y:
        #     tree[i - 1][j - 1] = x - i + min(y - j + 1, j - x)
        # elif i > x and j >= y:
        #     tree[i - 1][j - 1] = j - y + min(i-x+1, y-i)
        # else:
        #     tree[i - 1][j - 1] = j-i
        tree[i - 1][j - 1] = min(j-i, abs(x-i) +
                                    1+abs(j-y), abs(y-i)+1+abs(j-x))

for k in range(1, n):
    ans = 0
    for i in range(n):
        ans += tree[i].count(k)
    print(ans)


### FIXED CODE ###

from math import floor, ceil, sqrt, factorial, log, gcd
from itertools import accumulate, permutations, combinations, product, combinations_with_replacement
from bisect import bisect_left, bisect_right
from collections import Counter, defaultdict
from heapq import heappop, heappush, heappushpop
import copy
import numpy as np
import sys
INF = float('inf')
mod = 10**9+7


def lcm(a, b): return a * b / gcd(a, b)

# 1 2 3
# a, b, c = LI()


def LI(): return list(map(int, sys.stdin.buffer.readline().split()))

# a = I()


def I(): return int(sys.stdin.buffer.readline())

# abc def
# a, b = LS()


def LS(): return sys.stdin.buffer.readline().rstrip().decode('utf-8').split()

# a = S()


def S(): return sys.stdin.buffer.readline().rstrip().decode('utf-8')

# 2
# 1
# 2
# [1, 2]


def IR(n): return [I() for i in range(n)]

# 2
# 1 2 3
# 4 5 6
# [[1,2,3], [4,5,6]]


def LIR(n): return [LI() for i in range(n)]

# 2
# abc
# def
# [abc, def]


def SR(n): return [S() for i in range(n)]

# 2
# abc def
# ghi jkl
# [[abc,def], [ghi,jkl]]


def LSR(n): return [LS() for i in range(n)]

# 2
# abcd
# efgh
# [[a,b,c,d], [e,f,g,h]]


def SRL(n): return [list(S()) for i in range(n)]


def main():
    n, x, y = LI()
    d = [0]*n
    for i in range(1, n):
        for j in range(i + 1, n + 1):
            d[min(j - i, abs(x - i) + 1 + abs(j - y),
                  abs(y - i) + 1 + abs(j - x)) - 1] += 1
    for k in range(n-1):
        print(d[k])


if __name__ == "__main__":
    main()
N = int(input())
AB = [list(map(int, input().split())) for _ in range(N - 1)]
# N = 9
# AB = [[1, 2], [2, 3], [9, 8], [8, 3], [3, 4], [4, 5], [3, 6], [6, 7]]
if N == 2:
    print(1, 2)
if N == 3:
    print(1, 2, 3)


class Node:
    def __init__(self, v):
        self.linked = set()
        self.v = v

    def add_node(self, node):
        self.linked.add(node)

    def set_rank(self, parent, rank):
        self.rank = rank
        for node in self.linked:
            if node == parent:
                continue
            node.set_rank(parent=self, rank=rank + 1)

    def __repr__(self):
        return '{}'.format(self.rank)


nodes = {v: Node(v) for v in range(1, N + 1)}
for a, b in AB:
    nodes[a].add_node(nodes[b])
    nodes[b].add_node(nodes[a])

# usokaihou
root = nodes[1]
root.set_rank(None, 0)

group = [[], [], []]
for node in nodes.values():
    group[node.rank % 3].append(node)
group.sort(key=len)
result = {}
x1 = set()
x2 = set()
x3 = set()

for i in range(1, N + 1):
    if i % 3 == 1:
        x1.add(i)
    elif i % 3 == 2:
        x2.add(i)
    else:
        x3.add(i)

for node in group[0]:
    result[node.v] = x3.pop()

for node in group[1]:
    if x2:
        result[node.v] = x2.pop()
    else:
        result[node.v] = x3.pop()

for node in group[2]:
    if x1:
        result[node.v] = x1.pop()
    elif x2:
        result[node.v] = x2.pop()
    else:
        result[node.v] = x3.pop()

print(' '.join(str(result[i]) for i in range(1, N + 1)))




### FIXED CODE ###

import sys
sys.setrecursionlimit(1000000000)
N = int(input())
AB = [list(map(int, input().split())) for _ in range(N - 1)]


class Tree:
    def __init__(self, v):
        self.v = v
        self.neighbors = []

    def set_rank(self, rank, parent):
        self.rank = rank
        for neighbor in self.neighbors:
            if neighbor is parent:
                continue
            neighbor.set_rank(rank=rank + 1, parent=self)


trees = {i: Tree(i) for i in range(1, N + 1)}

for a, b in AB:
    trees[a].neighbors.append(trees[b])
    trees[b].neighbors.append(trees[a])
try:
    trees[1].set_rank(1, None)
except:
    print(-1)
    exit()

group0 = [node.v for node in trees.values() if node.rank % 2 == 0]
group1 = [node.v for node in trees.values() if node.rank % 2]
x = [set(), set(), set()]
for i in range(1, N + 1):
    x[i % 3].add(i)
if len(group1) < len(group0):
    group1, group0 = group0, group1
result = {}
if len(group0) <= len(x[0]):
    while group0 and x[0]:
        result[group0.pop()] = x[0].pop()
    y = x[0] | x[1] | x[2]
    while group1 and y:
        result[group1.pop()] = y.pop()
else:
    while x[2] and group0:
        result[group0.pop()] = x[2].pop()
    while x[1] and group1:
        result[group1.pop()] = x[1].pop()
    while group0 and x[0]:
        result[group0.pop()] = x[0].pop()
    while group1 and x[0]:
        result[group1.pop()] = x[0].pop()
    if group0 or group1:
        print(-1)
        exit()

print(' '.join(str(result[i]) for i in range(1, N + 1)))
a,b = map(int, input())
if a<=8 and b <= 8:
  print('Yay!')
else:
  print(':(')

### FIXED CODE ###

a,b = map(int, input().split())
if a <= 8 and b <= 8:
  print('Yay!')
else:
  print(':(')
import sys
import numpy as np
input = sys.stdin.readline
N, M = map(int, input().split())
A = list(map(int, input().split()))
A.sort()
sortsecond = lambda val: val[1]
x = [list(map(int, input().split())) for _ in range(M)]
x.sort(key=sortsecond)

i = 0
for j in range(M):
  times = x[-(j+1)][0]
  num = x[-(j+1)][1]
  while (times > 0):
    try:
      tmp = A[i]
    except IndexError:
      print(sum(A))
      exit()
    
    if (tmp < num):
      A[i] = num
    else:
      print(sum(A))
      exit()
    times -= 1
    i += 1

print(sum(A))

### FIXED CODE ###

import sys
input = sys.stdin.readline
N, M = map(int, input().split())
A = list(map(int, input().split()))
A.sort()
sortsecond = lambda val: val[1]
x = [list(map(int, input().split())) for _ in range(M)]
x.sort(key=sortsecond)

i = 0
for j in range(M):
  times = x[-(j+1)][0]
  num = x[-(j+1)][1]
  while (times > 0):
    try:
      tmp = A[i]
    except IndexError:
      print(sum(A))
      exit()
    
    if (tmp < num):
      A[i] = num
    else:
      print(sum(A))
      exit()
    times -= 1
    i += 1

print(sum(A))
sys.setrecursionlimit(10**5)
n, m = map(int, input().split())
road = [tuple(map(int, input().split())) for _ in range(m)]

table = [list() for _ in range(n+1)]
ans = [0 for _ in range(n+1)]
hush = {}

for i in range(1, n+1):
    hush[i] = False

for a, b in road:
    table[a].append(b)
    table[b].append(a)

def bfs(i):
    hush[i] = True
    rec = []
    for j in table[i]:
        if hush[j] == False:
            ans[j] = i
            hush[j] = True
            rec.append(j)
    for j in rec:
        bfs(j)

bfs(1)

print('Yes')
for i in range(2, n+1):
    print(ans[i])

### FIXED CODE ###

from collections import deque

n, m = map(int, input().split())
ways = [tuple(map(int, input().split())) for _ in range(m)]
ans = [None] * (n+1)

hush = {}
hush[1] = True
for i in range(2, n+1):
    hush[i] = False
table = [list() for _ in range(n+1)]
for a, b in ways:
    table[a].append(b)
    table[b].append(a)

que = deque([1])
while len(que) > 0:
    room = que.popleft()
    for next in table[room]:
        if hush[next] == False:
            ans[next] = room
            que.append(next)
            hush[next] = True

print('Yes')
for i in range(2, n+1):
    print(ans[i])
def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            B[i]+=1
            if i != n // i:
                B[n//i]+=1

    # divisors.sort()
    return divisors

N=int(input())
A=list(map(int,input().split()))

B=[0]*3000000
C=[]
count=0
for i in reversed(range(N)):
    if B[i]%2!=A[i]:
        make_divisors(i+1)
        count +=1
        C.append(i+1)
print(count)
if count!=0:
    print(C[0],end="")
    for i in range(1,count):
        print(" "+C[i],end="")

### FIXED CODE ###

def make_divisors(n):
    #divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            B[i]+=1
            if i != n // i:
                B[n//i]+=1

    # divisors.sort()
    #return divisors

N=int(input())
A=list(map(int,input().split()))

B=[0]*300000
C=[]
count=0
for i in reversed(range(N)):
    if B[i+1]%2!=A[i]:
        make_divisors(i+1)
        count +=1
        C.append(i+1)
print(count)
#print(B)
if count!=0:
    for i in reversed(range(1,count)):
        print(str(C[i])+" ",end="")
    print(C[0], end="")
a = input().split()
print(max[a[0]+a[1], a[0]-a[1], a[0]*a[1]])


### FIXED CODE ###

def main(text):
    a = list(map(int, text.split()))
    print(max([a[0]+a[1], a[0]-a[1], a[0]*a[1]]))


main(input())
#!/home/ryo/.pyenv/versions/anaconda3-2019.03/envs/hoge/bin/python
import sys
def fib(n):
    memo = [0] * (n+1)
    memo[0:2] = [0, 1]
    for i in range(2, n+1):
        memo[i] = memo[i - 1] + memo[i - 2]
    return memo

lim=10**9+7

N,M = map(int,input().split())
A=[]
for i in range(0,M):
    A.append(int(input()))
diff=[]
for i in range(0,len(A)-1):
    diff.append(A[i+1]-A[i]-1)
if 0 in diff:
    print(0)
    sys.exit()
else:
    max_n=diff.copy()
    max_n.append(A[0])
    max_n.append(N-A[-1])
    memo_fib=fib(max(max_n))
    #print(memo_fib)
    ans=memo_fib[A[0]]
    #print(ans)
    for i in diff:
        ans= ans * memo_fib[i] % lim
        #print(i, ans)
ans=ans*memo_fib[N-A[-1]] % lim
print(ans)

### FIXED CODE ###

#!/home/ryo/.pyenv/versions/anaconda3-2019.03/envs/hoge/bin/python
import sys

lim=10**9+7
N,M = map(int,input().split())
A = set([int(input()) for _ in range(M)])
memo = [0] * (N+1)
memo[0]=1

if not 1 in A:
    memo[1]=1
for i in range(2, N+1):
    if not i in A:
        memo[i] = (memo[i - 1] + memo[i - 2]) % lim
print(memo[-1])
n=int(input())
A=[]
B=[]
for i in range(n):
   a=int(input())
   A.append(a)
   d=[]
   for j in range(a):
      x,y=map(int,input().split())
      d.append((x,y))
   B.append(d)
c=0
for i in range(2**n):
   L=[0]*n
   for j in range(n):
      if i>>j&1
         L[j]=1
   if 1 in L:
      flag=True
      for k in range(n):
         if L[k]==1:
            for m in range(A[k]):
               if L[B[k][m][0]-1]!=B[k][m][1]:
                  flag=False
                  break
      if flag:
         c=max(sum(L),c)
print(c)

### FIXED CODE ###

n = int(input())
l = []
for i in range(n):
    a = int(input())
    l.append([tuple(map(int, input().split())) for _ in range(a)])
 
cnt = 0
for i in range(1 << n):
    Flag = True
    for j in range(n):
        if (i >> j) & 1:
            for x, y in l[j]:
                if i >> (x-1) & 1 != y:
                    Flag = False
                    break
    if Flag:
        cnt = max(cnt, sum(map(int, bin(i)[2:])))
 
print(cnt)
import math
n, d= (int(c) for c in input().split())

x = []

for i in range(n): 
    x.append(input().split())

sum_ans = 0
count=0
for j in range(0,n):
    for k in range(j+1,n):
        for n in range(d):
            sum_ans = sum_ans+(x[j][n] - x[k][n]) **2
        if math.sqrt(sum_ans)%1==0:
            count=count+1
        sum_ans=0
print(sum_ans)

### FIXED CODE ###

import math
n, d= (int(c) for c in input().split())

x = []

for i in range(n): 
    x.append(input().split())

sum_ans = 0
count=0
print
for j in range(0,n-1):
    for k in range(j+1,n):
        for l in range(d):
            sum_ans = sum_ans+(int(x[j][l]) - int(x[k][l])) **2
        if math.sqrt(sum_ans)%1==0.0:
            count=count+1
        sum_ans=0
print(count)
n = int(input())
a = map(int, input().split())
ans = 0
for i in range(n):
  ans += (1/a[i])
print(1/ans)

### FIXED CODE ###

n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in range(n):
  ans += (1/a[i])
print(1/ans)
def d_abs(N, Z, W, A):
    # 山札の枚数が1枚なら、Xがそれを引いて終わる。山札が2枚以上なら、
    # Xは初手でN-1枚目かN枚目かのどちらかスコアが大きくなる方を取るのが最善。
    # そうしなかった場合、Xが最善手を取らなかったことになって前提に反するか、
    # Yが最善手を取ってスコアabs(A[N - 1] - A[N - 2])になるかのどちらかである
    ans = abs(A[0] - W) if N == 1 else max(abs(A[N - 1] - W), abs(A[N - 1] - A[N - 2]))
    return ans

N,Z,W = [int(i) for i in input().split()]
A = [int(i) for i in input().split()]
print(D_abs(N, Z, W, A))

### FIXED CODE ###

def D_abs(N, Z, W, A):
    if N == 1:
        # Xは山札のたった1枚を引かねばならず、Yは山札から1枚も引けないから
        return abs(A[0] - W)
    else:
        # 山札は一番上しか見れないので、
        # Xがa_{N-1}を持ち、Yがa_{N}を持つか、
        # Xがa_{N}を持ち、YがWまたはa_{N-1}を持つかの
        # どちらかで終了する。
        return max(abs(A[N - 1] - W), abs(A[N - 1] - A[N - 2]))

N,Z,W = [int(i) for i in input().split()]
A = [int(i) for i in input().split()]
print(D_abs(N, Z, W, A))
a,b=map(int,input().stlip)

if a*b<=81:
  print(a*b)
else:
	print(-1)

### FIXED CODE ###

A, B = map(int, input().split())
if 0 <= A <= 9 and 0 <= B <= 9:
    print(A*B)
else:
    print(-1)
a,b=input().split
print(max(a+b,a-b,a*b))

### FIXED CODE ###

a,b = map(int,input().split())
print(max(a+b,a-b,a*b))
n,q = map(int,input().split())
s = input()
lr = list(list(map(int,input().split())) for i in range(q))

x = [0]*(n-1)
for i in range(n):
    if s[i] == 'A' and s[i+1] == 'C':
        x[i] = 1

for i in range(q):
    print(sum(x[(lr[i][0]-1):(lr[i][1]-1)]))


### FIXED CODE ###

n,q = map(int,input().split())
s = input()
lr = list(list(map(int,input().split())) for i in range(q))

x = [0]*(n)
for i in range(n-1):
    if s[i] == 'A':
        if s[i+1] == 'C':
            x[i+1] = x[i] + 1
        else:
            x[i+1] = x[i]
    else:
        x[i+1] = x[i]

for i in range(q):
    print(x[lr[i][1]-1]-x[lr[i][0]-1])
n = int(input())
sL = [input() for i in range(n)]
m = int(input())
tL = [input() for i in range(m)]
L = list(set(sL))
maxnum = 0
for i in range(len(L)):
    num = max(0, max(sL.count(L[i])-tL.count(L[i])))
    if num > maxnum:
        maxnum = num
print(maxnum)

### FIXED CODE ###

n = int(input())
sL = [input() for i in range(n)]
m = int(input())
tL = [input() for i in range(m)]
L = list(set(sL))
maxnum = 0
for i in range(len(L)):
    num = max(0, sL.count(L[i])-tL.count(L[i]))
    if num > maxnum:
        maxnum = num
print(maxnum)
import math

K = input()
distance = list(map(int,input().split()))

for i in range(len(distance)):
    if distance[i] % K == 0:
        print("OK")

print("NG")

### FIXED CODE ###

import math
import sys

K = int(input())
distance = list(map(int,input().split()))


for i in range(distance[1]-distance[0]+1):
    if (distance[0]+i) % K == 0:
        print("OK")
        sys.exit()

print("NG")
N,K = map(int, input().split())
h = list(map(int, input().split()))
h.sort(reverse=True)
a=0:
for i in h:
  if i>=h:
    a+=1
  else:
    break
    

### FIXED CODE ###

N,K = map(int, input().split())
h = list(map(int, input().split()))
h.sort(reverse=True)
a=0
for i in h:
  if i>=K:
    a+=1
  else:
    break
print(a)
W,H,x,y=map(float,input().split())
answer=0
if W//2==x and H//2==y:
  answer=1
print(W*H//2 answer)

### FIXED CODE ###

W,H,x,y=map(float,input().split())
answer=0
if W/2==x and H/2==y:
  answer=1
print(W*H/2,answer)
import math
R = float(imput())

ans = 2 * R * PI

print(ans)

### FIXED CODE ###

import math

r = float(input())

ans = 2*r*math.pi

print(ans)
import sys
sys.setrecursionlimit(100001)

CONST = 1000000007

def noboru(i, a2, a1):
    if (i == 0 or i == 1):
        return a1
    elif (i == 2):
        return a2
    else:
        return noboru(i-1, a2+a1, a2)


def func(N, M, a):
    ans = 1
    pos = 0
    for i in range(M):
        if (pos == a[i]):
            return 0
        else:
            ans = (ans * noboru(a[i] - pos - 1, 2, 1)) % CONST
            pos = a[i] + 1
    ans = (ans * noboru(N - pos, 2, 1)) % CONST
    return ans

N, M = map(int, input().split(" "))
a = [int(input()) for _ in range(M)]
print(func(N, M, a))

### FIXED CODE ###

CONST = 1000000007

def noboru(n):
    a1 = 1
    a2 = 2
    ans = 0
    if (n == 0 or n == 1): return a1
    elif (n == 2): return a2
    else:
        for i in range(1, n-1):
            ans = a2 + a1
            a1 = a2
            a2 = ans
        return a2

def func(N, M, a):
    ans = 1
    pos = 0
    for i in range(M):
        if (pos == a[i]):
            return 0
        else:
            ans = (ans * noboru(a[i] - pos - 1)) % CONST
            pos = a[i] + 1
    ans = (ans * noboru(N - pos)) % CONST
    return ans

N, M = map(int, input().split(" "))
a = [int(input()) for _ in range(M)]
print(func(N, M, a))
s = str(input())
if s[0] == s[1] or s[1] == s[2] or s[2] == s[3] or s[3] == s[4]:
    print('Bad')
else:
    print('Yes')

### FIXED CODE ###

s = str(input())
if s[0] == s[1] or s[1] == s[2] or s[2] == s[3]:
    print('Bad')
else:
    print('Good')
a = input()
b = input()
if (a*b) % 2 == 0:
  print('Even')
else:
  print('Odd')

### FIXED CODE ###

a, b = map(int, input().split())
if (a*b)%2==0:
  print('Even')
else:
  print('Odd')
import math
a,b,c,d = map(int,input().split())
cd = (c*d) // math.gcd(c,d)
print(cd)
c_sum = (b // c) - ((a-1) // c)
d_sum = (b // d) - ((a-1) // d)
cd_sum = (b // cd) - ((a-1) // cd)

result = b-a+1 -(c_sum+d_sum-cd_sum)
print((result))

### FIXED CODE ###

import fractions
a,b,c,d = map(int,input().split())
cd = (c*d) // fractions.gcd(c,d)
c_sum = (b // c) - ((a-1) // c)
d_sum = (b // d) - ((a-1) // d)
cd_sum = (b // cd) - ((a-1) // cd)
result = b-a+1 -(c_sum+d_sum-cd_sum)
print(result)
K = int(input())
A,B = map(int, input().split())

listK = [K*i for i in range(1, 1000) if K*i<=1000]

for j in listK:
    if A<=listK[j] and listK[j]<=B:
        print('OK')
        exit()

print('NG')

### FIXED CODE ###

K = int(input())
A,B = map(int, input().split())

listK = [K*i for i in range(1, 1000) if K*i<=1000]

for j in listK:
    if A<=j and j<=B:
        print('OK')
        exit()

print('NG')
s = input.split()
r = int(s[0])
D = int(s[1])
x = int(s[2])

for i in range(10):
    x = r * x - D
    print(x)

### FIXED CODE ###

s = input().split()
r = int(s[0])
D = int(s[1])
x = int(s[2])

for i in range(10):
    x = r * x - D
    print(int(x))
s=list(map(int,input().split()))
t=list(map(int,input().split()))
u=list(map(int,input().split()))
v=[list(map(int,input().split())) for i in range(s[2])]
a=10**6
d=0
e=0
for i in range(s[2]):
  d=v[i][0]-1
  e=v[i][0]-1
  b=t[d]+u[e]-v[i][2]
  a=min(a,b)
print(a)

### FIXED CODE ###

s=list(map(int,input().split()))
t=list(map(int,input().split()))
u=list(map(int,input().split()))
v=[list(map(int,input().split())) for i in range(s[2])]
a=10**6
d=0
e=0
for i in range(s[2]):
  d=v[i][0]-1
  e=v[i][1]-1
  b=t[d]+u[e]-v[i][2]
  a=min(a,b)
f=min(t)
e=min(u)+f
a=min(a,e)
print(a)