Harryxun/stf_run huggingface dataset:
import random

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

P = input().split()
P = [int(c) for c in P]

if len(P) == 0:
    print(X)
else:
    L = list(range(max(0,X-N),min(100,X+N)))

    for i in range(N):
        if P[i] in L:
            L.remove(P[i])

    while len(L) > 2:
        rand = random.randint(1,len(L)-2)
        if L[rand] == X:
            break
        elif L[rand] > X:
            L = L[0:rand+1]
        else:
            L = L[rand:len(P)]

    if L[rand] == X:
        print(0)
    else:
        if abs(L[0]-X) > abs(L[1]-X):
            print(L[1])
        else:
            print(L[0])

### FIXED CODE ###

import random

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

P = input().split()
P = [int(c) for c in P]

if len(P) == 0:
    print(X)    
else:
    L = list(range(max(0,X-N),min(102,X+N)))

    if X+N <= 101:
        L.append(X+N)

    for i in range(N):
        if P[i] in L:
            L.remove(P[i])

    while len(L) > 2:
        rand = random.randint(1,len(L)-2)
        if L[rand] == X:
            break
        elif L[rand] > X:
            L = L[0:rand+1]
        else:
            L = L[rand:len(L)]

    if X in L:
        print(X)
    elif len(L) == 1:
        print(L[0])
    else:
        if abs(L[0]-X) > abs(L[1]-X):
            print(L[1])
        else:
            print(L[0])
x = int(input())
print(max([int(x**(1/i))**i for i in range(10)]))

### FIXED CODE ###

x = int(input())
print(max([i**ii for i in range(1,34) for ii in range(2,11) if i**ii <= x]))
n=raw_input()
A=map(int,raw_input.split())
q=raw_input()
m=map(int,raw_input.split())

def solve(c, m)
  if m == 0:
    return 1
  if c >= n or sum(A)<m:
    return 0
  res = solve(c + 1, m) || solve(c + 1, m - A[c])
  return res

for i range(0,q):
  if solve(0,m[i])==1:
    print yes
  else:
    print no

### FIXED CODE ###

n=int(raw_input())
A=map(int, raw_input().split())
q=int(raw_input())
m=map(int, raw_input().split())

def solve(j, m):
  if m == 0:
    return 1
  if j >= n or m > sum(A):
    return 0
  res = solve(j + 1, m) or solve(j + 1, m - A[j])
  return res

for i in range(0,q):
  if solve(0,m[i]):
    print "yes"
  else:
    print "no"
import re
import sys

if __name__ == '__main__':
    N = int(input())
    li = input().split()
    d = dict()
    for l in li:
        d[l] = 1
    print len(d)
        


### FIXED CODE ###

import re
import sys

if __name__ == '__main__':
    N = int(input())
    li = raw_input().split()
    d = dict()
    for l in li:
        d[l] = 1
    if len(d) == 4:
        print 'Four'
    else:
        print 'Three'
a, b c = map(int, input().split())

print(a*b // 2)

### FIXED CODE ###

a, b, c = map(int, input().split())
 
print(a*b // 2)
num = input("Enter: ")

result = num**3
print(result)


### FIXED CODE ###


x = int(input())

print(x**3)
N=int(input())
K=int(input())
if N%K =0:
  print(0)
else:
  print(1)


### FIXED CODE ###

N, K = map(int, input().split())
if N%K == 0:
  print(0)
else:
  print(1)
n,k=map(int,input().split())
l=list(map(int,input().split()))
a=0
l.sort(reverse=True)
for i in range(k):
    a+=l[i]
print(a)


### FIXED CODE ###

n,k=map(int,input().split())
l=list(map(int,input().split()))
a=0
l.sort(reverse=True)
for i in range(k):
    a+=l[i]
print(a)
S = input()
wb = ["0" if i % 2 == 0 else "1" for i in range(len(S))]
bw = ["1" if i % 2 == 0 else "0" for i in range(len(S))]

cnt_wb = 0
cnt_bw = 0
for i in range((len(S))):
  if wb[i] != S[i]:
    cnt_wb += 1
  if bw[i] != S[i]:
    cnt_bw += 1
    
print (min(cnt_eb, cnt_bw))

### FIXED CODE ###

S = input()
wb = ["0" if i % 2 == 0 else "1" for i in range(len(S))]
bw = ["1" if i % 2 == 0 else "0" for i in range(len(S))]

cnt_wb = 0
cnt_bw = 0
for i in range((len(S))):
  if wb[i] != S[i]:
    cnt_wb += 1
  if bw[i] != S[i]:
    cnt_bw += 1
    
print (min(cnt_wb, cnt_bw))
#どっちで出すか注意, rstrip注意
#提出前に見返すこと！
def main():
    import sys
    input = sys.stdin.readline
    sys.setrecursionlimit(10000000)
    from collections import Counter, deque
    #from collections import defaultdict
    from itertools import combinations, permutations, accumulate
    #from itertools import product
    from bisect import bisect_left,bisect_right
    import heapq
    from math import floor, ceil
    #from operator import itemgetter

    #inf = 10**17
    #mod = 10**9 + 7

    a,b = map(int, input().split())
    def yakusuu(a,b):
        n = int(a**.5)+1
        res1 = []
        res2 = []
        for i in range(1, n):
            if a%i==0:
                if b%i==0:
                    res1.append(i)
                elif b%(a//i)==0:
                    res1.append(a//i)
        return res1
    
    if a>b:
        a,b = b,a
    l = yakusuu(a,b)
    
    def primecheck(n):
        #0~nまで素数判定
        p = [True] * (n + 1)
        p[0] = False
        p[1] = False
        for i in range(2, int(n ** 0.5) + 1):
            if p[i]:
                for j in range(i * i, n + 1, i):
                    p[j] = False
        return p
    
    p = primecheck(max(l))
    res = 0
    for i in l:
        if p[i]:
            res += 1
    print(res+1)

if __name__ == '__main__':
    main()

### FIXED CODE ###

#どっちで出すか注意, rstrip注意
#提出前に見返すこと！
def main():
    import sys
    input = sys.stdin.readline
    sys.setrecursionlimit(10000000)
    from collections import Counter, deque
    #from collections import defaultdict
    from itertools import combinations, permutations, accumulate
    #from itertools import product
    from bisect import bisect_left,bisect_right
    import heapq
    from math import floor, ceil
    #from operator import itemgetter

    #inf = 10**17
    #mod = 10**9 + 7

    a,b = map(int, input().split())
    # 素因数分解
    def prime_decomp(n):
        i = 2
        res = []
        while i ** 2 <= n:
            while n % i==0:
                n //= i
                res.append(i)
            i += 1
        if n > 1:
            res.append(n)
        return res

    c = set(prime_decomp(a))
    d = set(prime_decomp(b))
    print(len(c&d)+1)


if __name__ == '__main__':
    main()
n,a = map(int,input().split())
print((n*n)-a)

### FIXED CODE ###

n = int(input())
a = int(input())

print((n*n)-a)
def main():
    n = int(input())
    ans = []
    A = [3817158266467286,  146813779479510, 5646683826134, 217180147158, 8353082582, 321272406, 12356630, 475254,  18278, 702, 26]
    for i in range(11, 0, -1):
        if n > A[11-i]:
            a = n // 26**i
            if a == 27:
                a = 26
                print('i',i,  'a',a)
                ans.append(chr(96+a))
                n = n - (26**i*a)
    ans.append(chr(96+n))
    print(*ans, sep='')

if __name__ == '__main__':
    main()

### FIXED CODE ###

def main():
    n = int(input())
    ans = []
    for i in range(1, 12):
        if n <= 26**i:
            n -= 1
            for j in range(i):
                a = n % 26
                ans.append(chr(97+a))
                n = n // 26
            break
        else:
            n -= 26**i
    print(*ans[::-1], sep='')
 
if __name__ == '__main__':
    main()
S,T=input().split()
x=int(S+T)
if int(math.sqrt(x))**2==x:
  print('Yes')
else:
  print('No')


### FIXED CODE ###

import math
S,T=input().split()
x=int(S+T)
if int(math.sqrt(x))**2==x:
  print('Yes')
else:
  print('No')
N = int(input())
S = input()
K = int(input())
ans = ""
for i in range(N):
    ans += "*" S[i] != S[K-1] else S[i]
print(ans)

### FIXED CODE ###

N = int(input())
S = input()
K = int(input())
ans = ""
for i in range(N):
    ans += "*" if S[i] != S[K-1] else S[i]
print(ans)
def count(k, s):
    answer = 0

    for a in range(s + 1):
        if a > k:
            break

        if s - a > 2*k:
            continue

        for b in range(a, s + 1):
            x = a - 0
            y = b - a
            z = s - b

            if y > k:
                break

            if z <= k and x + y + z == s:
                answer += 1

    return answer

if __name__ == '__main__':
    k, s = ' '.split(input())
    k = int(k)
    s = int(s)

    print(count(k, s))

### FIXED CODE ###

def count(k, s):
    answer = 0

    for a in range(s + 1):
        if a > k:
            # aは増える一方なので
            break

        if s - a > 2*k:
            continue

        for b in range(a, s + 1):
            x = a - 0
            y = b - a
            z = s - b

            if y > k:
                break

            if z <= k and x + y + z == s:
                answer += 1

    return answer

k, s = map(int, input().split())
print(count(k, s))
A, B = [int(input()) for _ in range(2)]
 
P = A + B
M = A - B
T = A * B
 
list = [P, M, T]
print(list(max))

### FIXED CODE ###

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

P = A + B
M = A - B
T = A * B

print(max(P, M, T))
W, H, N = [int(x) for x in input().strip().split()]
x_min = 0
y_min = 0

for i in range(N):
    x, y, a = [int(x) for x in input().strip().split()]
    result = 0
    if W < x_min or H < y_min:
        W - x_min == 0
        break

    if a == 1 and x_min < x:
        x_min = x
    elif a == 2 and W > x:
        W = x
    elif a == 3 and y_min < y:
        y_min = y
    elif a == 4 and H > y:
        H = y
    
print((W - x_min)*(H - y_min))

### FIXED CODE ###

a, b, c = list(map(int, input().split()))

if a+b==c or a+c==b or b+c==a:
    print('Yes')
else:
    print('No')
A,B,C,D = map(int,input().split())

while check:
	C = C - B
    if C<=0:
      print("Yes")
    A = A - D
    if A<=0:
      print("No")
    

### FIXED CODE ###

from sys import stdin
A, B, C,D = [int(x) for x in stdin.readline().rstrip().split()]
while True:
  C = C-B
  if C<=0:
    print("Yes")
    break
  A = A-D
  if A<=0:
    print("No")
    break
n=int(input())
data=[]
t=[[0 for x in range(4)] for w in range(n+1)]
for _ in range(n):
    temp=[int(x) for x in input().split()]
    data.append(temp)
for i in range(1,n+1):
    for j in range(1,4):
        large=0
        for w in range(1,4):
            if(w==j):
                continue
            else:
                if(t[i-1][w]>large):
                    large=t[i-1][w]
        t[i][j]=data[i-1][j-1]+large
print(max(t[-1]))

### FIXED CODE ###

n=int(input())
data=[int(x) for x in input().split()]
ans=[0]*n
ans[0]=0
ans[1]=abs(data[1]-data[0])
for q in range(2,n):
    temp2=abs(data[q]-data[q-2])+ans[q-2]
    temp1=abs(data[q]-data[q-1])+ans[q-1]
    if(temp2<temp1):
        ans[q]=temp2
    else:
        ans[q]=temp1
print(ans[-1])
count = int(input())

str_data = {}

for i in range(count):
  judge_str = ''.join(sorted(input()))
  if judge_str in str_data:
    str_data[judge_str] += 1
  else:
    str_data[judge_str] = 0

print(sum(str_data.values())

### FIXED CODE ###

a,b = map(int, input().split())

print(max(a*b,a-b,a+b))
from collections import defaultdict

def diverta192_b():
    N = int(input())
    P = [tuple(map(int, input().split())) for _ in range(N)]
    if len(P) == 1:
        print(1)  # 座標が1つだけ与えられる場合は即終了
        return

    dcnt = defaultdict(int)  # import忘れずに
    for i in range(N):
        xi, yi = P[i]
        for j in range(i):
            xj, yj = P[j]
            dcnt[(xi-xj, yi-yj)] += 1
            dcnt[(xj-xi, yj-yi)] += 1  # 逆向きもカウントする(都合よいほうを使う)
    most = sorted(dcnt.values(), reverse=True)[0]  # 最も多いカウントを取り出す
    ans = N - most
    print(ans)

diverta192_b()

### FIXED CODE ###

from collections import defaultdict

def abc152_d():
    N = int(input())
    freq = defaultdict(int)
    for i in range(1, N+1):
        s = str(i)
        freq[(s[0], s[-1])] += 1  # (先頭,末尾) となる個数を数える

    ans = 0
    for i in range(1, N+1):
        s = str(i)
        ans += freq[(s[-1], s[0])]  # ペアになる (末尾, 先頭) の個数を足していく
    print(ans)

abc152_d()
a,b,c=input().split()

if a==b:
    print(c)
    break
elif a==c:
    print(b)
    break
else:
    print(a)

### FIXED CODE ###

a,b,c=input().split()

if a==b:
    print(c)
elif a==c:
    print(b)
else:
    print(a)
s_a = input()
s_b = input()
s_c = input()
x = s_a[0]
while( len(s_a) >= 0 and len(s_b) >=0 and len(s_c) >= 0):

    if x == 'a':
        x = s_a[0]
        s_a = s_a[1:]

    if x == 'b':
        x = s_b[0]
        s_b = s_b[1:]

    if x == 'c':
        x = s_c[0]
        s_c = s_c[1:]

    if x == 'a' and len(s_a) == 0:
        print('A')
        break
    if x == 'b' and len(s_b) == 0:
        print('B')
        break
    if x == 'c' and len(s_c) == 0:
        print('C')
        break


### FIXED CODE ###

s_a = input()
s_b = input()
s_c = input()
x = s_a[0]
while( len(s_a) >= 0 and len(s_b) >=0 and len(s_c) >= 0):

    if x == 'a':
        x = s_a[0]
        s_a = s_a[1:]


    elif x == 'b':
        x = s_b[0]
        s_b = s_b[1:]

    elif x == 'c':
        x = s_c[0]
        s_c = s_c[1:]


    if x == 'a' and len(s_a) == 0:
        print('A')
        break
    if x == 'b' and len(s_b) == 0:
        print('B')
        break
    if x == 'c' and len(s_c) == 0:
        print('C')
        break
import collections
n,k,s = input().split()

dq = collections.deque()
max_value = str(10**9)
if int(s) !=10**9:
    for i in range(int(k)):
        dq.append(s)
    for i in range(int(n)-int(k)):
        dq.append(max_value)
    ans = " ".join(list(dq))
    print(ans)
else:
    for i in range(int(k)):
        dq.append(s)
    for i in range(int(n)-int(k)):
        dq.append(1)
    ans = " ".join(list(dq))
    print(ans)
        

### FIXED CODE ###

import collections
n,k,s = input().split()



dq = collections.deque()
max_value = str(10**9)
if int(s) !=10**9:
    for i in range(int(k)):
        dq.append(s)
    for i in range(int(n)-int(k)):
        dq.append(max_value)
    ans = " ".join(list(dq))
    print(ans)
else:
    for i in range(int(k)):
        dq.append(s)
    for i in range(int(n)-int(k)):
        dq.append("1")
    ans = " ".join(list(dq))
    print(ans)
N=input()
print (800*N) - 200(N/15)

### FIXED CODE ###

n=input()
x=800*n
y=200*(n/15)
print x-y
n = int(input())
xyh = [list(map(int,input().split())) for i in range(n)]
flag = 0
for x in range(101):
    for y in range(101):
        for i in range(n-1):
            if xyh[i][2] - xyh[i+1][2] + abs(xyh[i][0] - x) + abs(xyh[i][1] - y) - abs(xyh[i+1][0] - x) - abs(xyh[i+1][1] - y) != 0:
                break
            if i == n-2:
                flag = 1
        if flag == 1:
            ans = [x,y]
            break
    if flag == 1:
        break
ans.append(xyh[0][2] + abs(xyh[0][0] - ans[0]) + abs(xyh[0][1] - ans[1]))
print(str(ans[0])+" "+str(ans[1])+" "+str(ans[2]))


### FIXED CODE ###

n = int(input())
xyh = sorted([list(map(int,input().split())) for i in range(n)],key=lambda x:x[2])[::-1]
flag = 0
for x in range(101):
    for y in range(101):
        H = abs(xyh[0][0]-x) + abs(xyh[0][1]-y)+xyh[0][2]
        for i in range(n):
            if not((xyh[i][2] == 0 and H - abs(xyh[i][0]-x) - abs(xyh[i][1]-y) <= 0) or H - abs(xyh[i][0]-x) - abs(xyh[i][1]-y) == xyh[i][2]):
                break
            if i == n-1:
                flag = 1
        if flag == 1:
            ans = [x,y,H]
            break
    if flag == 1:
        break
print(str(ans[0])+" "+str(ans[1])+" "+str(ans[2]))
while True:
        a,op,b=input().split()
        a=int(a)
        b=int(b)
            
        if op=("+"):
                print(a+b)
        elif op=("-"):
                print(a-b)
        elif op=("*"):
                print(a*b)
        elif op=("/"):
                print(a/b)
        elif op=("?"):
                break


### FIXED CODE ###



while 1:
     s=input()
     if '?' in s: break
     print(int(eval(s)))
inf = 7 + (10 ** 9)
n, m = map(int, input().split())
dp1 = [0] * (n + 1)
dp1[0] = 1
for _ in range(m):
    a = int(input())
    dp1[a] = - inf
for i in range(n):
    if i < n:
        if (dp1[i + 1] != inf) & (dp1[i] != inf):
                dp1[i + 1] = dp1[i + 1] + dp[i]
    if i + 1 < n:
        if (dp1[i + 2] != inf) & (dp1[i] != inf):
                dp1[i + 2] = dp1[i + 2] + dp[i]
print(dp1[-1] % inf)

### FIXED CODE ###

inf = 7 + (10 ** 9)
n, m = map(int, input().split())
dp1 = [0] * (n + 1)
dp1[0] = 1
for _ in range(m):
    a = int(input())
    dp1[a] = - inf
for i in range(n):
    if i < n:
        if (dp1[i + 1] != -inf) & (dp1[i] != -inf):
                dp1[i + 1] = dp1[i + 1] + dp1[i]
    if i + 1 < n:
        if (dp1[i + 2] != -inf) & (dp1[i] != -inf):
                dp1[i + 2] = dp1[i + 2] + dp1[i]
print(dp1[-1] % inf)
import math
N, X = map(int, input().split())
x = list(map(int, input().split()))
ans = abs(x[0]-X)
for i in range(1,N):
    ans = math.gcd(ans, abs(x[i]-X))

print(ans)

### FIXED CODE ###

import fractions
N, X = map(int, input().split())
Y = list(map(int, input().split()))
ans = abs(Y[0]-X)
for i in range(1,N):
    ans = fractions.gcd(ans, abs(Y[i]-X))

print(ans)
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N, X = mapint()
Ls = list(mapint())

now = 0
cnt = 0
for l in Ls:
    if now>X:
        break
    now += l
    cnt += 1
else:
    if now<=x:
        cnt += 1
print(cnt)

### FIXED CODE ###

import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N, X = mapint()
Ls = list(mapint())

now = 0
cnt = 0
for l in Ls:
    if now>X:
        break
    now += l
    cnt += 1
else:
    if now<=X:
        cnt += 1
print(cnt)
from math import sqrt
n=int(input())
l=[list(map(int,input().split())) for i in range(n)]
result=0
nums=[x for x in range(n)]
for i in nums:
  for j in nums:
    if(i!=j):
      result += sqrt((xy[i][0] - xy[j][0]) * (xy[i][0] - xy[j][0]) + (xy[i][1] - xy[j][1]) * (xy[i][1] - xy[j][1]))
print(result/n)
      

### FIXED CODE ###

from math import sqrt
n=int(input())
l=[list(map(int,input().split())) for i in range(n)]
result=0
nums=[x for x in range(n)]
for i in nums:
  for j in nums:
    if(i!=j):
      result += sqrt((l[i][0] - l[j][0]) * (l[i][0] - l[j][0]) + (l[i][1] - l[j][1]) * (l[i][1] - l[j][1]))
print(result/n)
def is_collided(x: int, y: int, xn: list, ym: list) -> bool:
    xn_max = max(xn)
    ym_min = min(ym)

    if xn_max > ym_min:
        return True
    # xn_max ~ ym_minとx ~ yが重なっていれば衝突しない
    if xn_max < x < ym_min or xn_max < y <= ym_min or \
    x < xn_max < y or x < x < ym_min <= y:
        return False
    return True


def main():
    line1: list = list( map(lambda x:int(x), input().split(' ')) )
    line2: list = list( map(lambda x:int(x), input().split(' ')) )
    line3: list = list( map(lambda x:int(x), input().split(' ')) )
    if is_collided(line1[2], line1[3], line2, line3):
        print("War")
    else:
        print("No War")

if __name__=='__main__':
    main()

### FIXED CODE ###

def is_collided(x: int, y: int, xn: list, ym: list) -> bool:
    xn_max = max(xn)
    ym_min = min(ym)

    if xn_max >= ym_min:
        return True
    # xn_max ~ ym_minとx ~ yが重なっていなければ衝突する
    return xn_max >= y or ym_min <= x

def main():
    line1 = list( map(lambda x:int(x), input().split(' ')) )
    line2 = list( map(lambda x:int(x), input().split(' ')) )
    line3 = list( map(lambda x:int(x), input().split(' ')) )
    print("War") if is_collided(line1[2], line1[3], line2, line3) else  print("No War")

if __name__=='__main__':
    main()
N = int(input())
d = list(map(int, input().split()))
ans = 0
for i in range(N-1):
  for j in range(i:N):
    ans += d[i] * d[j]
print (ans)

### FIXED CODE ###

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

print ((sum(d) ** 2 - sum(map(lambda x: x ** 2, d))) //2)
x, n = map(int,input().split())
if n != 0:
  p = list(map(int,input().split()))
  p = []
else:
  print(x)

p_change = []
m = 0
for i in p:
    p_change.append(abs(i-x))

if x in p:
    for i in range(n):
        if i != 0 and p_change.count(i) != 2:
            m = i
            break
    if x-m in p:
        print(x+m)
    else:
        print(x-m)
else:
    print(x)

### FIXED CODE ###

x, n = map(int,input().split())
if n != 0:
  p = list(map(int,input().split()))
p_change = []
m = 0
if n == 0:
  print(x)
else:
    for i in p:
        p_change.append(abs(i-x))
 
    if x in p:
        for i in range(n+1):
            if i != 0 and p_change.count(i) != 2:
                m = i
                break
        if x-m in p:
            print(x+m)
        else:
            print(x-m)
    else:
        print(x)
N = int(input())
A = list(map(int, input().split()))


def solve(i, s, k, sign):
    if i >= N:
        return k

    if sign * (s + A[i]) > 0:
        return solve(i + 1, s + A[i], k, sign * -1)
    else:
        return solve(i + 1, sign, k + abs(s + A[i]) + 1, sign * -1)


print(min(solve(0, 0, 0, 1), solve(0, 0, 0, -1)))


### FIXED CODE ###

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

ret = float('inf')

sign = 1
s = 0
k = 0
for a in A:
    if sign * (s + a) > 0:
        s += a
    else:
        k += abs(s + a) + 1
        s = sign
    sign *= -1
ret = min(ret, k)

sign = -1
s = 0
k = 0
for a in A:
    if sign * (s + a) > 0:
        s += a
    else:
        k += abs(s + a) + 1
        s = sign
    sign *= -1

ret = min(ret, k)


print(ret)
from math import gcd

N = int(input())
T = []

for _ in range(N):
    T.append(int(input()))

def lcm(x, y):
    return (x * y) // gcd(x, y)

ans = T[0]
for t in T:
    ans = lcm(ans, t)

print(ans)


### FIXED CODE ###

import math


def gcd(x, y):
    while (y):
        x, y = y, x % y
    return x


def lcm(x, y):
    return (x * y) // gcd(x, y)


N = int(input())
T = []

for _ in range(N):
    T.append(int(input()))

ans = T[0]

for t in T:
    ans = lcm(ans, t)

print(ans)
n = int(input())
num_list = [ int(v) for v in input().split() ]

ans_list = [ 0 for i in range(n+2) ]

for i in num_list:
    ans_list[i] += 1
    ans_list[i+1] += 1
    ans_list[i+2] += 1

print(max(ans_list))

### FIXED CODE ###


n = int(input())
num_list = [ int(v) for v in input().split() ]

ans_list = [ 0 for i in range(10**5+2) ]

for i in num_list:
    ans_list[i] += 1
    ans_list[i+1] += 1
    ans_list[i+2] += 1

print(max(ans_list))
L = int(intput())

print(L/3**3)

### FIXED CODE ###

L = int(input())

print((L/3)**3)
import numpy as np
import itertools

h, w, k = list(map(int, input().split(' ')))

cells = []
for _ in range(h):
  cells.append(list(input()))
cells = np.asarray(cells)

n_choice = 0
for n_target_rows in range(h + 1):
  target_rows = list(itertools.combinations(range(h), n_target_rows))
  
  for n_target_clms in range(w + 1):
    target_clms = list(itertools.combinations(range(w), n_target_clms))
    
    for rows in target_rows:
      row_converted_cells = cells.copy()
      row_converted_cells[rows, :] = 'r' * w
      
      for clms in target_clms:
        clm_converted_cells = row_converted_cells.copy()
        clm_converted_cells[:, clms] = 'r'
        n_black = np.count_nonzero(clm_converted_cells == '#')
        
        if n_black == k:
          n_choice += 
                    
print(n_choice)

### FIXED CODE ###

import numpy as np
import itertools

h, w, k = list(map(int, input().split(' ')))

cells = []
for _ in range(h):
  cells.append(list(input()))
cells = np.asarray(cells)

n_choice = 0
for n_target_rows in range(h + 1):
  target_rows = list(itertools.combinations(range(h), n_target_rows))
  
  for n_target_clms in range(w + 1):
    target_clms = list(itertools.combinations(range(w), n_target_clms))
    
    for rows in target_rows:
      row_converted_cells = cells.copy()
      row_converted_cells[rows, :] = 'r' * w
      
      for clms in target_clms:
        clm_converted_cells = row_converted_cells.copy()
        clm_converted_cells[:, clms] = 'r'
        n_black = np.count_nonzero(clm_converted_cells == '#')
        
        if n_black == k:
          n_choice += 1
                    
print(n_choice)