Harryxun/stf_run huggingface dataset:
# coding: utf-8
N,K=map(int,input().split())
MOD=10**9+7

fac=[None for i in range(N)]
finv=[None for i in range(N)]
inv=[None for i in range(N)]

def COMinit(num):
    global fac
    global finv
    global inv
    fac[0]=1
    fac[1]=1
    finv[0]=1
    finv[1]=1
    inv[1]=1

    for i in range(2,num):
        fac[i] = fac[i-1] * i % MOD
        inv[i] = MOD - inv[MOD%i] * (MOD // i) % MOD
        finv[i] = finv[i-1] * inv[i] % MOD

def COM(n,k):
    if n<k:
        return 0
    elif n<0 or k<0:
        return 0
    else:
        return int(fac[n] * (finv[k] * finv[n - k] % MOD) % MOD)


COMinit(N)

for i in range(1,K+1):
    print(COM(N-K+1,i)*COM(K-1,i-1))



### FIXED CODE ###

# coding: utf-8
N,K=map(int,input().split())
MOD=10**9+7

fac=[None for i in range(5000)]
finv=[None for i in range(5000)]
inv=[None for i in range(5000)]

def COMinit(num):
    global fac
    global finv
    global inv
    fac[0]=1
    fac[1]=1
    finv[0]=1
    finv[1]=1
    inv[1]=1

    for i in range(2,num):
        fac[i] = fac[i-1] * i % MOD
        inv[i] = MOD - inv[MOD%i] * (MOD // i) % MOD
        finv[i] = finv[i-1] * inv[i] % MOD

def COM(n,k):
    if n<k:
        return 0
    elif n<0 or k<0:
        return 0
    else:
        return int(fac[n] * (finv[k] * finv[n - k] % MOD) % MOD)


COMinit(5000)

for i in range(1,K+1):
    print(COM(N-K+1,i)*COM(K-1,i-1)% MOD)

#print(COM(0,0))
A = imput()
B = imput()

if A/B == 0:
  print(A+B)
else:
  print(A-B)

### FIXED CODE ###

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

if B % A == 0:
  print(A+B)
else:
  print(B-A)
import sys 

line = sys.stdin
line = line.strip()
start = line[0]
end = line[-1]
print('%s%d%s'%(start, len(line) - 2, end))
  

### FIXED CODE ###

import sys 

line = sys.stdin.read()
line = line.strip()
start = line[0]
end = line[-1]
print('%s%d%s'%(start, len(line) - 2, end))
s = int(input())
xy = [0, 0, 10**9, 1, 0, 0]

m = s % xy[2]
d = s // x[2]

xy[4] = 0 if m == 0 else (xy[2] - m)
xy[5] = d if m == 0 else (d + 1)

print(*xy)


### FIXED CODE ###

s = int(input())
xy = [0, 0, 10**9, 1, 0, 0]

m = s % xy[2]
d = s // xy[2]

xy[4] = 0 if m == 0 else (xy[2] - m)
xy[5] = d if m == 0 else (d + 1)

print(*xy)
X = int(input())

import sys

for i in range(1,10**9+1):
    a = pow(i,5)
    f_i = pow(a-X,0.2)
    if f_i.is_integer() == True:
        print(i,pow(a-X,0.2))
        sys.exit()

### FIXED CODE ###

X = int(input())

import sys

for a in range(-120,120+1):
    for b in range(-120,120+1):
        if a**5 - b**5 == X:
            print(a,b)
            sys.exit()
n,a,b=map(int,input().split())
L=""
for _ in range(n//(a+b)+1):
  L += 'b'*a+'r'*b
print(L[:n].count('b'))

### FIXED CODE ###

n,a,b=map(int,input().split())
t= n//(a+b)
s = n%(a+b)
print(t*a + min(s,a))
a = input()
b = input()
c = input()
x = input()
count = 0
for i in range(min(x / 500, a)):
    for j in range(min((x - i * 500) / 200, b)):
        if (x - i * 500 - j * 100) / 50 <= c:
            count += 1
print(count)

### FIXED CODE ###

a, b, c, x = map(int, [input() for i in range(4)])
count = 0
for i in range(min(x // 500, a) + 1):
    for j in range(min((x - i * 500) // 100, b) + 1):
        if x - i * 500 - j * 100 <= c * 50:
            count += 1
print(count)
import sys
def ii(): return int(sys.stdin.readline())
def mi(): return map(int, sys.stdin.readline().split())
def li(): return list(map(int, sys.stdin.readline().split()))
def li2(N): return [list(map(int, sys.stdin.readline().split())) for i in range(N)]
def dp2(ini, i, j): return [[ini]*i for i2 in range(j)]
def dp3(ini, i, j, k): return [[[ini]*i for i2 in range(j)] for i3 in range(k)]
#import bisect #bisect.bisect_left(B, a)
#from collections import defaultdict #d = defaultdict(int) d[key] += value

from collections import deque
N, M = mi()
x = li2(M)

adj = [[] for i in range(N)]
for i in range(M):
    x[i][0] -= 1
    x[i][1] -= 1
    adj[x[i][0]].append(x[i][1])

flag = [0]*N
ans = deque([])

def dfs(x, ans):
    if flag[x]:
        return None
    else:
        flag[x] = 1
        if adj[x]:
            for a in adj[x]:
                dfs(a, ans)
        #global ans
        ans.appendleft(x)

for i in range(N):
    dfs(i, ans)

dp = [0]*N
for a in ans:
    if adj[a]:
        for b in adj[a]:
            dp[b] = max(dp[b], dp[a] + 1)

print(max(dp))

### FIXED CODE ###

import sys
def ii(): return int(sys.stdin.readline())
def mi(): return map(int, sys.stdin.readline().split())
def li(): return list(map(int, sys.stdin.readline().split()))
def li2(N): return [list(map(int, sys.stdin.readline().split())) for i in range(N)]
def dp2(ini, i, j): return [[ini]*i for i2 in range(j)]
def dp3(ini, i, j, k): return [[[ini]*i for i2 in range(j)] for i3 in range(k)]
#import bisect #bisect.bisect_left(B, a)
#from collections import defaultdict #d = defaultdict(int) d[key] += value
'''
N, M = mi()
x = li2(M)

#dp = dp2(0, 2, N)
dp = [[0, []] for i1 in range(N+1)]


for i in range(M):
    dp[x[i][1]][0] = max(dp[x[i][1]][0], dp[x[i][0]][0] + 1)
    dp[x[i][0]][1].append(x[i][1])
    if dp[x[i][1]][1] != []:
        for a in dp[x[i][1]][1]:
            dp[a][0] = max(dp[x[i][1]][0] + 1, dp[a][0])

print(dp)
print(max([row[0] for row in dp])) 
'''
from collections import deque
N, M = mi()
x = li2(M)

h = [0]*N
adj = [[] for i in range(N)]
for i in range(M):
    x[i][0] -= 1
    x[i][1] -= 1
    h[x[i][1]] += 1
    adj[x[i][0]].append(x[i][1])

zeros = deque([])
ans = []
for i in range(N):
    if h[i] == 0:
        zeros.append(i)
        ans.append(i)

while(zeros != deque()):
    a = zeros.popleft()
    if(adj[a]):
        for b in adj[a]:
            h[b] -= 1
            if h[b] == 0:
                zeros.append(b)
                ans.append(b)

#print(ans)

dp = [0]*N
#print(ans)
#print(adj)
for a in ans:
    #print(dp)
    if adj[a]:
        for b in adj[a]:
            dp[b] = max(dp[a] + 1, dp[b])
#print(dp)
print(dp[ans[-1]])
special=False
target=input()
if target[0]=="A" and target[-1]=="C" and "B" in target and "ABC" in target:
    pass
else:
    special=True
    
special="True"
old=["ABC"]
new=[]
word=["A","B","C"]
while old != [] or special=True:
    if target in old:
        print("Yes")
        break
    for i in old:
        for j in word:
            new_word=i.replace(j,"ABC")
            if len(new_word)==len(target):
                if new_word==target:
                    new.append(new_word)
                    break
                else:
                    pass
            elif len(new_word)< len(target):
                new.append(new_word)
            else:
                pass
    old=new[:]
    new=[]
else:
    print("No")

### FIXED CODE ###

target=input()
list_abc=["A","B","C"]
old=[]
new=[]
check=[]
flag=False
if "ABC" in target:
    old.append([target,[]])
while old !=[] and flag==False:
    for i in old:
        if i[0]=="ABC":
            check.append(i[1])
            flag=True
            break
        for j in list_abc:
            element=i[0].replace("ABC",j)
            if "ABC" in element:
                new.append([element,i[1]+[j]])
    else:
        old=new[:]
        new=[]
flag=False
for i in check:
    abc="ABC"
    li=i
    li.reverse()
    for j in li:
        abc=abc.replace(j,"ABC")
    if abc==target:
        flag=True
print("Yes" if flag==True else "No")
return N(N+1)/2

### FIXED CODE ###

n=int(input())
print(n*(n+1)//2)
S =int(input())
h = int(S / 3600)
m = int((S - h*3600)/60)
s = int(S -(h*3600+m*60))

print(h,':',m,":",s seq == "")

### FIXED CODE ###

S = int(input())
h = int(S // 3600)
m = int((S - h*3600)// 60 )
s = int(S - (h*3600+m*60))

print(h,m,s, sep=':' )
h,w=map(int,input().split())
s=[input().split() for _ in range(w)]
for i in range(w):
    for j in range(h):
        if s[i][j]=="snuke":
            print(chr(ord("A")+j)+str(i+1))

### FIXED CODE ###

h,w=map(int,input().split())
s=[input().split() for _ in range(h)]
for i in range(h):
    for j in range(w):
        if s[i][j]=="snuke":
            print(chr(ord("A")+j)+str(i+1))
a,b,c=input().split()
print("YES" a[-1]==b[0] and b[-1]==c[0] else "NO")

### FIXED CODE ###

a,b,c=input().split()
print("YES" if a[-1]==b[0] and b[-1]==c[0] else "NO")
# -*- coding: utf-8 -*-

def parse_input():

    # 出力
    nm = input().split(" ")
    n = int(nm[0])
    m = int(nm[1])

    rows = []
    for i in range(0, n):
        rows.append([int(e) for e in line.split(" ")])

    return (n, m, rows)

def solve(n, m, rows):

    result = []
    for k in range(1, m + 1):
        tmp = []
        for i in range(0, n):
#            print(rows[i])
            r = rows[i]
#            print(r[1:r[0] + 1])
            if k in r[1:r[0]+1]:
               tmp.append(i+1)
        if len(tmp) == n:
            result.append(k)

    return str(len(result))

def main():

    print(solve(parse_input()))

if __name__ == '__main__':

    main()


### FIXED CODE ###

# -*- coding: utf-8 -*-

def solve(n, m, *lines):

    
    rows = []
    for line in lines:
        rows.append([int(e) for e in line.split(" ")])

    # print(n)
    # print(m)
    # print(rows)

    result = []
    for k in range(1, m + 1):
        tmp = []
        for i in range(0, n):
#            print(rows[i])
            r = rows[i]
#            print(r[1:r[0] + 1])
            if k in r[1:r[0]+1]:
               tmp.append(i+1)
        if len(tmp) == n:
            result.append(k)

    return str(len(result))

def main():
    # 出力
    params = []
    nm = input().split(" ")
    n = int(nm[0])
    m = int(nm[1])
    params.append(n)
    params.append(m)

    for i in range(0, n):
        params.append(input())   
    print(solve(*params))

if __name__ == '__main__':

    main()
x = int(input())
a = 1
for i in x:
            if i == 0:
                      break
            print("Case {0}: {1}".format(a,i))
            a += 1

### FIXED CODE ###

import sys
a = 1

for i in sys.stdin:
        x = i.strip()
        if x == "0":
                break;
        print("Case {0}: {1}".format(a,x))
        a += 1
n = int(input())
uvw = [list(map(int, input().split())) for _ in range(n-1)]

g = [[] for _ in range(n)]

for u, v, w in uvw:
    u -= 1
    v -= 1
    g[u].append([v, w])
    g[v].append([u, w])


WHITE = 0
GRAY = 1
BLACK = 2

ds = [0] * n
colors = [WHITE] * n


def dfs(u):
    if colors[u] == BLACK:
        return

    colors[u] = GRAY

    for v, w in g[u]:
        if colors[v] == WHITE:
            ds[v] = ds[u] + w
            dfs(v)

    colors[u] = BLACK


dfs(0)

for d in ds:
    print(d % 2)


### FIXED CODE ###

n = int(input())
uvw = [list(map(int, input().split())) for _ in range(n-1)]

g = [[] for _ in range(n)]

for u, v, w in uvw:
    u -= 1
    v -= 1
    g[u].append([v, w])
    g[v].append([u, w])


WHITE = 0
GRAY = 1
BLACK = 2

ds = [0] * n
colors = [WHITE] * n
ps = [-1] * n


def dfs(s):
    global ds, colors, ps

    stack = []

    ds[s] = 0
    colors[s] = BLACK
    ps[s] = -1
    stack.append(ds[s])

    while stack:
        u = stack[-1]
        colors[u] = GRAY

        for v, w in g[u]:
            if colors[v] == WHITE:
                stack.append(v)
                ds[v] = ds[u] + w
                ps[v] = u
                g[u].remove([v, w])
                g[v].remove([u, w])
                break

        else:
            stack.pop()
            colors[u] = BLACK

    return ds, ps


dfs(0)

for d in ds:
    print(d % 2)
N = int(input())  
count = [N-1]
for i in range(2, N+1):
  if N%i==0:
    count.append(int(i + N/i -2))
    print(min(count))
    break

### FIXED CODE ###

a,b=(int(x) for x in input().split())
if a > 9 or b > 9:
  print(-1)
else:
  print(a *b)
x,y,z=input().split()
x=int(x)
y=int(y)



if x==y:
    print("Yes")

else:
    print("No")
    

### FIXED CODE ###

nm = list(map(int, input().split()))
n = nm[0]
m = nm[1]
if n==m:
  print("Yes")
else:
  print("No")
from sys import argv

debug = "a" in argv
n = int(input())
ls = []
la = ls.append
for i in range(1, n + 1):
    s = input().split()
    la((i, s[0], int(s[1])))
if debug:
    print("ls:",ls)
ls = sorted(ls, key=lambda x: x[2], reverse=1)
ls = sorted(ls, key=lambda x: x[1])
if debug:
    print("ls(sorted):",ls)
if debug:
    print("debug end")
for x in ls:
    print(x[0])

### FIXED CODE ###

print(eval("3*"+input().replace(" ","+"))//2)
# -*- coding: utf-8 -*-
n,m = list(map(int,input().split()))
a = [int(input()) for i in range(m)]

inf=float("inf")
i_pattern = [-inf for i in range(n+1)]

#i段目までの行き方を数える
def solve(i):
    if i == 1:
        if 1 in a:
            i_pattern[1] = 0
            return 0
        else:
            i_pattern[1] = 1
            return 1
    if i == 0:
        i_pattern[0]=1
        return 1
    if i_pattern[i] >= 0:
        ret = i_pattern[i]
    else :
        if i in a:
            i_pattern[i]=0
            return 0
        ret = solve(i-1)+solve(i-2)
        i_pattern[i]=ret
    return ret

print(solve(n)%1000000007)


### FIXED CODE ###

# -*- coding: utf-8 -*-
n,m = list(map(int,input().split()))
a = [int(input()) for i in range(m)]

inf=float("inf")

fib_memo = [-inf for i in range(n+1)]
fib_memo[0] = 1
if 1 in a:
    fib_memo[1]=0
else:
    fib_memo[1]=1
for i in a:
    fib_memo[i]=0

if 1 in [a[i] - a[i-1] for i in range(1,m)]:
    print(0)
    import sys
    sys.exit()
else:
    cur_fib_i = 2
    while cur_fib_i <= n:
        if fib_memo[cur_fib_i]==0:
            pass
        else:
            fib_memo[cur_fib_i] = fib_memo[cur_fib_i-1] + fib_memo[cur_fib_i-2]
        cur_fib_i += 1
print(fib_memo[n]%1000000007)
#print(fib_memo)
n = int(input())
nums = list(map(int, input().split()))
tmp = 0
ans = 0
for num in nums:
  if num >= tmp:
    ans += 1
    tmp = num
  else:
    break
print(ans)
n = int(input())

### FIXED CODE ###

import sys
# input = sys.stdin.buffer.readline
def getN():
    return int(input())
def getNM():
    return map(int, input().split())
def getlist():
    return list(map(int, input().split()))
import math
import heapq
from collections import defaultdict, Counter, deque
MOD = 10**9 + 7
INF = 10**15

def main():
    n = getN()
    nums = getlist()
    hst = 0
    ans = 0
    for num in nums:
        if num >= hst:
            ans += 1
        hst = max(hst, num)

    print(ans)
if __name__ == '__main__':
    main()

"""
9999
3

2916
"""
from collections import*
def main():
  n,m,*a=map(int,open(0).read().split())
  table=[-1]*n
  def root(x):
    while table[x]>=0:x=table[x]
    return x
  def unite(x,y):
    s1=root(x)
    s2=root(y)
    if s1!=s2:
      if table[s1]>table[s2]:s1,s2=s2,s1
      table[s1]+=table[s2]
      table[s2]=s1
  d=defaultdict(list)
  for x,y in zip(*[iter(a[n:])]*2):unite(x,y)
  for i,v in enumerate(a[:n]):d[root(i)]+=v,
  if len(d)<2:
    print(0)
    return
  *d,=map(sorted,d.values())
  c=sum(heappop(t)for t in d)
  l=[]
  for t in d:l+=t
  i=len(d)-2
  if len(l)<i:
    print('Impossible')
  else:
    print(c+sum(sorted(l)[:i]))
main()

### FIXED CODE ###

from collections import*
from heapq import*
def main():
  n,m,*a=map(int,open(0).read().split())
  table=[-1]*n
  def root(x):
    while table[x]>=0:x=table[x]
    return x
  def unite(x,y):
    s1=root(x)
    s2=root(y)
    if s1!=s2:
      if table[s1]>table[s2]:s1,s2=s2,s1
      table[s1]+=table[s2]
      table[s2]=s1
  d=defaultdict(list)
  for x,y in zip(*[iter(a[n:])]*2):unite(x,y)
  for i,v in enumerate(a[:n]):d[root(i)]+=v,
  if len(d)<2:
    print(0)
    return
  *d,=map(sorted,d.values())
  c=sum(heappop(t)for t in d)
  l=[]
  for t in d:l+=t
  i=len(d)-2
  if len(l)<i:
    print('Impossible')
  else:
    print(c+sum(sorted(l)[:i]))
main()
n = int(input())
a = [int(k) for k in input().split()]
cnt = 0
for i in range(n-3):
  if a[i] < a[i+1] and a[i+1] < a[i+2]:cnt + =1
print(cnt)

### FIXED CODE ###

n = int(input())
a = [int(k) for k in input().split()]
cnt = 0
for i in range(n-2):
  if a[i] < a[i+1] and a[i+1] < a[i+2]:cnt += 1
  elif a[i] > a[i+1] and a[i+1] > a[i+2]:cnt += 1
print(cnt)
N, K = map(int, input().split())
A = list(map(int, input().split()))

for i in range(K):
    B = [0] * N
    for j in range(N):
        l = max(0,j-A[j])
        r = j+A[j]+1
        B[l] += 1
        if r < N:
            B[r] -= 1
    for j in range(1, N):
        B[j] += B[j-1]

    A = B

    if sum(A) == N**2:
        print(break)

print(*A)

### FIXED CODE ###

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

for i in range(K):
    B = [0] * N
    for j in range(N):
        l = max(0,j-A[j])
        r = j+A[j]+1
        B[l] += 1
        if r < N:
            B[r] -= 1
    for j in range(1, N):
        B[j] += B[j-1]

    A = B

    if sum(A) == N**2:
        break

print(*A)
N, X, T = map(int,input().split())

if ( N % x ) == 0:
    print(( N // X ) * T )
elif ( N % x ) != 0:
    print(( N // X + 1 ) * T )

### FIXED CODE ###

N, X, T = map(int,input().split())

A = N % X

if ( A ) == 0:
    print(( N // X ) * T )
elif ( N % X ) != 0:
    print(( N // X + 1 ) * T )
temp=A
A=B
B=temp

temp=A
A=C
C=temp

print(A,B,C)

### FIXED CODE ###

A,B,C=input().split()
temp=A
A=B
B=temp

temp=A
A=C
C=temp

print(A,B,C)
n=int(input(""))
aa=input("").split(" ")
lista=[]
for i in range(n):
    lista+=[int(aa[i])]
lista.sort()
listtf=[]
s=0
for i in range(lista[n-1]):
    listtf+=[True]
for i in range(n):
    if(listtf[i]):
        if(i<n-1 and lista[i]==lista[i+1]):
            s-=1
        s+=1
        t=1
        while(t*lista[i]<lista[n-1]):
            listtf[lista[i]*t]=False
            t+=1
print(s)
            
            

### FIXED CODE ###

n=int(input(""))
aa=input("").split(" ")
lista=[]
for i in range(n):
    lista+=[int(aa[i])]
lista.sort()
listtf=[]
s=0
for i in range(lista[n-1]):
    listtf+=[True]
for i in range(n):
    
    if(listtf[lista[i]-1]):
        if(i<n-1 and lista[i]==lista[i+1]):
            s-=1
        s+=1
        t=1
        while(t*lista[i]<=lista[n-1]):
            listtf[lista[i]*t-1]=False
            t+=1
print(s)
N = int(input())
print(sum(i*(N//i)*(N//i + 1) // 2 for i in range(1,N+1) )


### FIXED CODE ###

n=int(input())
from math import sqrt,floor
x=floor(sqrt(n))
print(sum(m*(n//m+m)*(n//m+1-m) for m in range(1,floor(sqrt(n))+1))  -x*(x+1)*(2*x+1)//6)
# -*- coding: utf-8 -*-


def main():
    """Function."""
    s = str(input())
    if len(set(s[0], s[1], s[2])) == 3:
        print("Yes")
    else:
        print("No")


if __name__ == "__main__":
    main()


### FIXED CODE ###

# -*- coding: utf-8 -*-


def main():
    """Function."""
    s = str(input())
    if len(set([s[0], s[1], s[2]])) == 3:
        print("Yes")
    else:
        print("No")


if __name__ == "__main__":
    main()
n,W=map(int,input().split())
dp=[[0]*(w+1) for _ in range(n+1)]
for i in range(1,n+1):
	w,v=map(intinput().split())
	for j in range(1,W+1):
		if j-w>0:
			dp[i][j]=dp[i-1][j]
		else:
			dp[i][j]=max(dp[i-1][j],dp[i-1][j-w]+v)
print(max(dp[n])

### FIXED CODE ###

n,W=map(int,input().split())
dp=[[0]*(W+1) for _ in range(n+1)]
for i in range(1,n+1):
    w,v=map(int,input().split())
    for j in range(1,W+1):
        if j-w<0:
            dp[i][j]=dp[i-1][j]
        else:
            dp[i][j]=max(dp[i-1][j],dp[i-1][j-w]+v)
print(max(dp[n]))
A, B, C, D, E, F = map(int, input().split())


def concentration(water, suger):
    if water * E/100 < suger or water + suger == 0:
        return 0
    return (100 * suger/(water + suger))

lst_w = []
limit_w = (F+A*100-1)//(A*100)
for i in range(limit_w):
    for j in range(limit_w):
        if 100 * (A * i + B * j) <= F:
            lst_w += [100 * (A * i + B * j)]

lst_s = []
limit_s = (F+C-1)//C
for i in range(limit_s):
    for j in range(limit_s):
        if C* i + D * j <= F:
            lst_s += [C * i + D * j]

# print (lst_w)
# print (lst_s)
set_w = set(lst_w)
set_s = set(lst_s)

# print (set_w)
# print (set_s)

ans = 0
for water in set_w:
    for suger in set_s:
        if water + suger <= F:
            a = concentration(water, suger)
            if ans < a:
                ans = a
                ans_total = water + suger
                ans_suger = suger

# print (ans)
print (ans_total, ans_suger)

### FIXED CODE ###

import sys
A, B, C, D, E, F = map(int, input().split())


def concentration(water, suger):
    if water * E/100 < suger or water + suger == 0:
        return 0
    return (100 * suger/(water + suger))

lst_w = []
limit_w = (F+A*100-1)//(A*100)
for i in range(limit_w):
    for j in range(limit_w):
        if 100 * (A * i + B * j) <= F:
            lst_w += [100 * (A * i + B * j)]

lst_s = []
limit_s = (F+C-1)//C
for i in range(limit_s):
    for j in range(limit_s):
        if C* i + D * j <= F:
            lst_s += [C * i + D * j]

# print (lst_w)
# print (lst_s)
set_w = set(lst_w)
set_s = set(lst_s)

# print (set_w)
# print (set_s)

ans = 0
ans_total = 0
ans_suger = 0
for water in set_w:
    for suger in set_s:
        if water + suger <= F:
            a = concentration(water, suger)
            if ans < a:
                ans = a
                ans_total = water + suger
                ans_suger = suger
            if ans == 50:
                print (ans_total, ans_suger)
                sys.exit()

if ans == 0:
    print (A * 100, 0)
else:
    print (ans_total, ans_suger)

# print (ans)
N=int(input())

from collections import defaultdict
d = defaultdict(int)

for i in input().split():
    d[int(i)] += 1

d_sorted = sorted(d.items(), key=lambda x:x[0], reverse=True)

longest=0
for length, n in d_sorted:
    if n>=2 and longest!=0:
        print(longest*length)
        exit()
    elif n>=4 and logest==0:
        print(length**2)
        exit()
    elif n>=2 and longest==0:
        longest=length
print(0)

### FIXED CODE ###

N=int(input())

from collections import defaultdict
d = defaultdict(int)

for i in input().split():
    d[int(i)] += 1

d_sorted = sorted(d.items(), key=lambda x:x[0], reverse=True)

longest=0
for length, n in d_sorted:
    if n>=2 and longest!=0:
        print(longest*length)
        exit()
    elif n>=4 and longest==0:
        print(length**2)
        exit()
    elif n>=2 and longest==0:
        longest=length
print(0)
s = input()
t = input()
k = abcdefghijklmnopqrstuvwxwz


if s == t[:-1]:
    if t[-1] in k:
        print("Yes")
    else:
        print("No")
else:
    print("No")

### FIXED CODE ###

s = input()
t = input()
k = "abcdefghijklmnopqrstuvwxwz"


if s == t[:-1]:
    if t[-1] in k:
        print("Yes")
    else:
        print("No")
else:
    print("No")
N = int(input())

arr = []

for i in range(N):
    arr.append(input())

print(len(set(arr))

### FIXED CODE ###

N = int(input())

arr = []

for i in range(N):
    arr.append(input())

print(len(set(arr)))
from collections import Counter
n = int(input())
s = [input() for i in range(n)]
c = Counter(s)
c = list(s.items())
print(len(c))

### FIXED CODE ###

from collections import Counter
n = int(input())
s = [input() for i in range(n)]
c = Counter(s)
c = list(c.items())
print(len(c))
ko,x=map(int,input().split())
s=max(x-ko+1,-1000000)
while True:
  print(s,end==" ")
  s+=1
  if s>min(ko+k-1,1000000):break


### FIXED CODE ###

k,x=map(int,input().split())
for i in range(k):
	print(x+i-k+1,end=" ")
if k != 1:
	print("",end="")
	for s in range(k)[1:]:
		print(x+s,end=" ")
while True:
    a, b = map(int, input().split())
    if x == 0 and b == 0:
        break
    else:
        if a > b:
            a, b = b, a
    print("{} {}".format(a, b))


### FIXED CODE ###

while True:
    x,y = map(int,input().split(" "))
    if x == 0 and y==0:
        break
    elif y < x:
        print(y,x)
    else:
        print(x,y)
import itertools
import numpy as np
n, d = map(int, input().split())

points = [list(map(int, input().split())) for x in range(n)]

cnt = 0
for p1, p2 in itertools.combinations(points, r=2):
    d = np.linalg.norm(np.array(p1) - p2)
    if d == int(d):
        cnt += 1
print(cnt)


### FIXED CODE ###

import itertools
import numpy as np
n, d = map(int, input().split())

points = [list(map(int, input().split())) for x in range(n)]

cnt = 0
for p1, p2 in itertools.combinations(points, r=2):
    d = np.linalg.norm(np.array(p1) - p2)
    if d == int(d):
        cnt += 1
print(cnt)