Harryxun/stf_run huggingface dataset:
import sys
 
Tmp = []
Tmp = input().rstrip().split(' ')
A = int(Tmp[0])
B = int(Tmp[1])

for i in range(50):
    for j in range(100):
        if i==0:
            print('.', end='')
            if  j==99:
                print()
               
            continue
        
        if j==0:
            print('.', end='')
            continue
        elif j==99:
            print('.', end='')
                print()
            continue
        else:
            Tmp1 = i % 2
            Tmp2 = j % 2
            
            if (Tmp1 == 1) and (Tmp2 == 1) and (B > 1):
                print('#', end='')
                B -= 1
            elif (Tmp1 == 0) and (Tmp2 == 0) and (B > 1):
                print('#', end='')
                B -= 1
            else:
                print('.', end='')
                
for i in range(50):
    for j in range(100):
        if i==0:
            print('#', end='')
            if  j==99:
                print()
               
            continue
        
        if j==0:
            print('#', end='')
            continue
        elif j==99:
            print('#', end='')
                print()
            continue
        else:
            Tmp1 = i % 2
            Tmp2 = j % 2
            
            if (Tmp1 == 1) and (Tmp2 == 1) and (B > 1):
                print('.', end='')
                B -= 1
            elif (Tmp1 == 0) and (Tmp2 == 0) and (B > 1):
                print('.', end='')
                B -= 1
            else:
                print('#', end='')


### FIXED CODE ###

import sys
 
Tmp = []
Tmp = input().rstrip().split(' ')
A = int(Tmp[0])
B = int(Tmp[1])

#A = 170
#B = 80
print('100 100')

for i in range(50):
    for j in range(100):
        if i==0:
            print('.', end='')
            if  j==99:
                print()
               
            continue
        
        if j==0:
            print('.', end='')
            continue
        elif j==99:
            print('.', end='')
            print()
            continue
        else:
            Tmp1 = i % 2
            Tmp2 = j % 2
            
            if (Tmp1 == 1) and (Tmp2 == 1) and (B > 1):
                print('#', end='')
                B -= 1
            else:
                print('.', end='')
                
for i in range(50):
    for j in range(100):
        if i==0:
            print('#', end='')
            if  j==99:
                print()
            continue
        
        if j==0:
            print('#', end='')
            continue
        elif j==99:
            print('#', end='')
            print()
            continue
        else:
            Tmp1 = i % 2
            Tmp2 = j % 2
            
            if (Tmp1 == 1) and (Tmp2 == 1) and (A > 1):
                print('.', end='')
                A -= 1
            else:
                print('#', end='')
N = raw_input()
N = int(N)
s = raw_input()
s = s.split(' ')
s = [float(x) for x in s]

n_list = []
for i in s:
	for t in range(3):
		i = i/2
		if (i - int(i) != 0):
			n_list.append(t)
			break
		if(t == 2):
			n_list.append(t)

if(n_list.count(0) <= n_list.count(2)):
	print('Yes')
else:
	print('No')

### FIXED CODE ###

s = raw_input()
s = s.split(' ')
s = [int(x) for x in s]
n, m = s

print((n-1)*(m-1))
N,D=map(int,input().split())
X=[]
Y=[]
for i in range(N):
    x,y=input().split()
    X.append(int(x))
    Y.append(int(y))

import math
def get_distance(x,y):
    d=math.sqrt(((x)**2+(y)**2))
    return d

a=0
for i in range(N+1):
    distance=get_distance(x=X[i],y=Y[i])
    if distance<=D:
        a+=1
print(a)

### FIXED CODE ###

N,D=map(int,input().split())
X=[]
Y=[]
for i in range(N):
    x,y=input().split()
    X.append(int(x))
    Y.append(int(y))

import math
def get_distance(x,y):
    d=math.sqrt(((x)**2+(y)**2))
    return d

a=0
for i in range(N):
    distance=get_distance(x=X[i],y=Y[i])
    if distance<=D:
        a+=1
print(a)
#!/usr/bin/python3

import math
import sys


DEBUG = False


def inp():
    return sys.stdin.readline().rstrip()


def dprint(*value, sep=' ', end='\n'):
    if DEBUG:
        print(*value, sep=sep, end=end)


def solve(N, A):
    par = abs(A[0][0] + A[0][1]) % 2
    for (x, y) in A:
        if abs(x + y) % 2 != par:
            return None

    m = [1] * (20 + par)
    S = []

    for (x, y) in A:
        assert abs(x) <= 10
        assert abs(y) <= 10
        s = []
        if x >= 0:
            for _ in range(x):
                s.append('R')
        else:
            for _ in range(-x):
                s.append('L')

        if y >= 0:
            for _ in range(y):
                s.append('U')
        else:
            for _ in range(-y):
                s.append('D')

        while len(s) < len(m):
            s.append('R')
            s.append('L')

        S.append(''.join(s))

    return (m, S)


def main():
    N = int(inp())
    A = []
    for _ in range(N):
        x, y = [int(e) for e in inp().split()]
        A.append((x, y))

    ans = solve(N, A)
    if ans is None:
        print('-1')
        return

    m, s = ans
    print(len(m))
    print(*m)
    for t in s:
        print(t)


if __name__ == '__main__':
    main()


### FIXED CODE ###

#!/usr/bin/python3

import math
import sys


DEBUG = False


def inp():
    return sys.stdin.readline().rstrip()


def dprint(*value, sep=' ', end='\n'):
    if DEBUG:
        print(*value, sep=sep, end=end)


def solve(N, A):
    par = abs(A[0][0] + A[0][1]) % 2
    for (x, y) in A:
        if abs(x + y) % 2 != par:
            return None

    M = [2 ** i for i in range(31, -1, -1)]
    if par == 0:
        M.append(1)
    S = []

    for x, y in A:
        u = x + y
        v = x - y
        if par == 0:
            u += 1
            v += 1

        s = []
        for i in range(32):
            if u > 0:
                uv = 1
                u -= M[i]
            else:
                uv = -1
                u += M[i]

            if v > 0:
                vv = 1
                v -= M[i]
            else:
                vv = -1
                v += M[i]

            if (uv, vv) == (-1, -1):
                s.append('L')
            elif (uv, vv) == (1, 1):
                s.append('R')
            elif (uv, vv) == (-1, 1):
                s.append('D')
            else:
                s.append('U')

        assert u == 0
        assert v == 0

        if par == 0:
            s.append('L')

        S.append(''.join(s))

    return (M, S)



def main():
    N = int(inp())
    A = []
    for _ in range(N):
        x, y = [int(e) for e in inp().split()]
        A.append((x, y))

    ans = solve(N, A)
    if ans is None:
        print('-1')
        return

    m, s = ans
    print(len(m))
    print(*m)
    for t in s:
        print(t)


if __name__ == '__main__':
    main()
W,a,b = map(int,input().split())
if b> a+W:
    print(b-a-W)
elif a>b+w:
    print(a-b-W)
else:
    print(0)

### FIXED CODE ###

W,a,b = map(int,input().split())
if a>b:
    a,b=b,a
if b>a+W:
    print(b-(a+W))
else:
    print(0)
n = int(input())
s = "Christmas"

a = 25 - n
  s += " Eve" * a

print(s)

### FIXED CODE ###

n = int(input())
s = "Christmas"

a = 25 - n
s += " Eve" * a

print(s)
n=int(input())
l=list(map(int,input().split())).sort()
for i in range(n):
    if i%2==1:
        l[i]=(-1)*l[i]
print(sum(l))

### FIXED CODE ###

n=int(input())
l=(list(map(int,input().split()))) 
l.sort(reverse=True)
for i in range(n):
    if i%2==1:
        l[i]=-l[i]
print(sum(l))
s=input()
if s=='Sunny':
    print('Cloudy')
elif s=='Cloudy':
    print('Rainy')
else:
    pront('Sunny')

### FIXED CODE ###

s=input()
if s=='Sunny':
    print('Cloudy')
elif s=='Cloudy':
    print('Rainy')
else:
    print('Sunny')
A, B, C, D = map(int, input().split())
while A*C > 0:
  C = C - B
  A = A - D
print("Yes" A>0 else "No")

### FIXED CODE ###

A, B, C, D = map(int, input().split())
Tcount = 0
Acount = 0
while C > 0:
  C = C -B
  Acount = Acount + 1
while A > 0:
  A = A - D
  Tcount = Tcount + 1
print("Yes" if Tcount >= Acount else "No")
import math
import collections
n, m = map(int, input().split())

factor = []
tmp = int(m ** (1/2)) + 1
for i in range(2, tmp):
    while m % i == 0:
        m //= i
        factor.append(i)
if m > 1:
    factor.append(m)
num = list(collections.Counter(factor).most_common())

ans = 1
for i in range(len(num)):
    ans *= (math.factorial(num[i] + n - 1) // (math.factorial(n - 1) * math.factorial(num[i])) % 1000000007)
    ans %= 1000000007
print(ans)

### FIXED CODE ###

import collections
n, m = map(int, input().split())

factor = []
tmp = int(m ** (1/2)) + 1
for i in range(2, tmp):
    while m % i == 0:
        m //= i
        factor.append(i)
if m > 1:
    factor.append(m)
num = list(collections.Counter(factor).most_common())

def comb(n, r):
    tmp = 1
    for i in range(r):
        tmp *= n - i
    for i in range(r):
        tmp //= r - i
    return tmp

ans = 1
for x in num:
    ans *= (comb(x[1] + n - 1, x[1]) % 1000000007)
    ans %= 1000000007
print(ans)
a,b=map(int, input().split()) 
if a =1 or b = 1:
    print(1)
    exit()
if a%2 != 0:
    if b%2 != 0:
        if a > b:
            print(int((-(-a//2))+(a*(b-1)/2)))
        else:
            print(int((-(-a//2))+(a*(b-1)/2)))
    else:
        print(int(a*b/2))
else:
    print(int(a*b/2))

### FIXED CODE ###

a,b=map(int, input().split()) 
if a ==1 or b == 1:
    print(1)
    exit()
if a%2 != 0:
    if b%2 != 0:
        if a > b:
            print(int((-(-a//2))+(a*(b-1)/2)))
        else:
            print(int((-(-a//2))+(a*(b-1)/2)))
    else:
        print(int(a*b/2))
else:
    print(int(a*b/2))
from collections import Counter
import sys
sys.setrecursionlimit(5000000)

S = list(input())
L = len(S)
A = Counter(S)

nCr = {}
def cmb(n, r):
    if r == 0 or r == n: return 1
    if r == 1: return n
    if (n,r) in nCr: return nCr[(n,r)]
    nCr[(n,r)] = cmb(n-1,r) + cmb(n-1,r-1)
    return nCr[(n,r)]

ans = cmb(L, 2) + 1
for v in A.values():
    if v == 1: continue
    ans -= cmb(v, 2)
print(ans)

### FIXED CODE ###

from collections import Counter
import sys
sys.setrecursionlimit(5000000)

S = list(input())
L = len(S)
A = Counter(S)

nCr = {}
def cmb(n, r):
    if r == 0 or r == n: return 1
    if r == 1: return n
    if (n,r) in nCr: return nCr[(n,r)]
    nCr[(n,r)] = cmb(n-1,r) + cmb(n-1,r-1)
    return nCr[(n,r)]

if L == 1:
    print(1)
else:
    ans = cmb(L, 2) + 1
    for v in A.values():
        if v == 1: continue
        ans -= cmb(v, 2)
    print(ans)
import math
a,b=map(int, input().split())

print((a * b) // math.gcd(a, b))

### FIXED CODE ###

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

if a < b:
    tmp = a
    a = b
    b =tmp
r = a%b
while(r != 0):
    a = b
    b = r
    r = a % b

print(int(x/b))
n,k=map(int,input().split())
dp=[0 for i in range(n)]
num=[False for i in range(n)]
dp[0]=1
mod=998244353
for i in range(k):
    l,r=map(int,input().split())
    for j in range(l,r+1):
        num[j]=True
for i in range(n):
    for j in range(n-i):
        if num[j]:
            dp[i+j]+=dp[i]
            dp[i+j]%=mod
print(dp[n-1]%mod)

### FIXED CODE ###

n,k=map(int,input().split())
dp=[0 for i in range(n+1)]
acc=[0 for i in range(n+1)]
dp[1]=1
mod=998244353
acc[1]=1
l,r=[],[]
for i in range(k):
    a,b=map(int,input().split())
    l.append(a)
    r.append(b)
for i in range(2,n+1):
    for j in range(k):
        if i-l[j]<0:
            continue
        dp[i]+=(acc[i-l[j]]-acc[max(0,i-r[j]-1)])
        dp[i]%=mod
    acc[i]=(acc[i-1]+dp[i])%mod
print(dp[-1])
a,b,k=[int(i) for i in input().split()]


c=0

for i in range(1000,1,-1):
    if a%i ==0 and b%i==0:
        c+=1
    if c == k:
        ans = i
        break

print(ans)

    
    
    
    
    





### FIXED CODE ###


a,b,k=[int(i) for i in input().split()]


c=0

ans = 1
for i in range(1000,1,-1):
    if a%i ==0 and b%i==0:
        c+=1
    if c == k:
        ans = i
        break

print(ans)
N=int(input())
dis_list=[list(map(int, input().split())) for  in range(N)]
ans=0
for x1,y1 in dis_list:
  for x2,y2 in dis_list:
    ans += ((x1-x2)**2+(y1-y2)**2)**0.5
print(ans/N)

### FIXED CODE ###

N=int(input())
dis_list=[list(map(int, input().split())) for _ in range(N)]
ans=0
for x1,y1 in dis_list:
  for x2,y2 in dis_list:
    ans += ((x1-x2)**2+(y1-y2)**2)**0.5
print(ans/N)
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

input_line = sys.stdin.readline()
nm = input_line.split()
n = nm[0]
m = nm[1]

div = int(1e9 + 7)

input_line = sys.stdin.readline()
xn = [int(v) for v in input_line.split()]

input_line = sys.stdin.readline()
ym = [int(v) for v in input_line.split()]

i = 0
j = 0
S = 0
for i in range(len(xn) - 1):
	sx = xn[i]
	for j in range(len(ym) - 1):
		sy = ym[j]

		for ii in range(i + 1, len(xn)):
			for jj in range(j + 1, len(ym)):
				S += abs((sx - xn[ii]) * (sy - ym[jj]))

S %= div

print(int(S))


### FIXED CODE ###

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

input_line = sys.stdin.readline()

n = int(input_line)
S = []

if n==0:
	print("")
	quit()

for i in range(n):
	input_line = sys.stdin.readline()
	S.append(input_line)

used_list = []
used_count = {}
maxLength = 0
for mojiretsu in S:
	_used_dict = {}
	if len(mojiretsu) > maxLength :
		maxLength = len(mojiretsu)
	for moji in mojiretsu:
		if not moji in _used_dict:
			_used_dict[moji] = 0
		if _used_dict[moji] == 0:
			if not moji in used_count:
				used_count[moji] = 0
			used_count[moji] += 1
			_used_dict[moji] = 0
		_used_dict[moji] += 1

	sorted(_used_dict.items(), key=lambda x:x[1], reverse=True)
	used_list.append(_used_dict)

used_flags = []
mojiKeys = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm','n','o','p','q','r','s','t','u','v','w','x','y','z']

i = 0
candidates = {}
for alpha in mojiKeys:
	if alpha in used_count and used_count[alpha] == n:
		candidates[alpha] = 0
		minimum = maxLength
		for used in used_list:
			if used[alpha] < minimum :
				minimum = used[alpha]
		candidates[alpha] = minimum

output = ""

for i in range(len(mojiKeys)):
	if not mojiKeys[i] in candidates:
		continue
	for j in range(candidates[mojiKeys[i]]):
		output += mojiKeys[i]

print(output)
from math import gcd

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

def f(n, c, d):
    x = n
    x -= n//c
    x -= n//d
    x += n//lcm(c,d)
    return x

a, b, c, d = map(int, input().split())
r = f(b, c, d) - f(a-1, c, d)
print(r)


### FIXED CODE ###

from fractions import gcd

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

def f(n, c, d):
    x = n
    x -= n//c
    x -= n//d
    x += n//lcm(c,d)
    return x

a, b, c, d = map(int, input().split())
r = f(b, c, d) - f(a-1, c, d)
print(r)
n = int(input())
*A, = map(int, input().split())
inf = 10**18
# DP[i][0]=i番目まででi//2個選んだ最大値
# DP[i][1]=i番目まででi//2+1個選んだ最大値
DP = [(None, None) for i in range(n)]
DP[0] = (0, A[0])
DP[1] = (0, max(A[0], A[1]))
for i in range(2, n):
    if i % 2 == 0:
        DP[i][0] = max(DP[i-2][0]+A[i], DP[i-1][1])
        DP[i][1] = DP[i-2][1]+A[i]
    else:
        DP[i][0] = max(DP[i-2][0]+A[i], DP[i-1][0])
        DP[i][1] = max(DP[i-2][1]+A[i], DP[i-1][1])
if n % 2 == 0:
    print(DP[n-1][1])
else:
    print(DP[n-1][0])


### FIXED CODE ###

n = int(input())
*A, = map(int, input().split())
inf = 10**18
# DP[i][0]=i番目まででi//2個選んだ最大値
# DP[i][1]=i番目まででi//2+1個選んだ最大値
DP = [[-inf]*2 for i in range(n)]
DP[0][0] = 0
DP[0][1] = A[0]
DP[1][0] = 0
DP[1][1] = max(A[0], A[1])
for i in range(2, n):
    if i % 2 == 0:
        DP[i][0] = max(DP[i-2][0]+A[i], DP[i-1][1])
        DP[i][1] = DP[i-2][1]+A[i]
    else:
        DP[i][0] = max(DP[i-2][0]+A[i], DP[i-1][0])
        DP[i][1] = max(DP[i-2][1]+A[i], DP[i-1][1])
if n % 2 == 0:
    print(DP[n-1][1])
else:
    print(DP[n-1][0])
import sys

sys.setrecursionlimit(10 ** 8)

input = sys.stdin.readline


def main():
    N, M = [int(x) for x in input().split()]
    SC = [[int(x) for x in input().split()] for _ in range(N)]

    f = False
    for i in range(1000):
        if len(str(i)) != N:
            continue

        x = str(i)
        for s, c in SC:
            if int(x[s - 1]) != c:
                break
        else:
            f = True

        if f:
            print(i)
            return
    else:
        print(-1)


if __name__ == '__main__':
    main()



### FIXED CODE ###

import sys

sys.setrecursionlimit(10 ** 8)

input = sys.stdin.readline


def main():
    N, M = [int(x) for x in input().split()]
    SC = [[int(x) for x in input().split()] for _ in range(M)]

    f = False
    for i in range(1000):
        if len(str(i)) != N:
            continue

        x = str(i)
        for s, c in SC:
            if int(x[s - 1]) != c:
                break
        else:
            f = True

        if f:
            print(i)
            return
    else:
        print(-1)


if __name__ == '__main__':
    main()
#include <stdio.h>

int main(void)
{
  int N, K;
  scanf("%d %d", &N, &K);
  ans = 0;
  for(int i = 0; i < N; i++){
    int h;
    scanf("%d", &h);
    if(K <= h)
    	ans++;
  }
  printf("%d", ans);
}

### FIXED CODE ###

N, K = map(int, input().split())
h = map(int, input().split())
ans = 0
for i in h:
  if K <= i:
    ans += 1
print(ans)
import sys
n,m = map(int,input().split())
p = [list(map(str,input().split())) for _ in range(m)]
box = []
acnt,wcnt,tmp = 0,0,0
if m == 0:
	print(0,0)
	sys.exit()
inx = 0
for i in range(m):
	if p[i][0] != inx
		if p[i][1] == 'AC':
				inx =p[i][0]
				acnt += 1
				wcnt += tmp
				tmp = 0
		else:
			tmp += 1
print(acnt,wcnt)

### FIXED CODE ###

n,m = map(int,input().split())
p = [list(map(str,input().split())) for _ in range(m)]
ac =[0]*(n+1)
wa =[0]*(n+1)
for i in range(m):
    question =int(p[i][0])
    if p[i][1] == "AC" and ac[question] == 0:
        ac[question] = 1
    elif p[i][1] == "WA" and ac[question] == 0:
        wa[question] += 1
for j in range(n+1):
    if ac[j] == 0:
        wa[j] = 0
       # print(wa)
print(sum(ac),sum(wa))
# D
N = int(input())
X_list = [0]*N
Y_list = [0]*N

res_flag = 1

r = -1
for i in range(N):
    X, Y = map(int, input().split())
    if r >= 0:
        if r != (X+Y)%2:
            res_flag = -1
    else:
        r = (X+Y)%2
    X_list[i] = X
    Y_list[i] = Y
    
if res_flag == -1:
    print(-1)
else:
    if r == 0:
        print(22)
        print("1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1")
    else:
        print(23)
        print("1 1 2 2 3 3 4 4 5 5 1 1 2 2 3 3 4 4 5 5 1 1 1")        
        for i in range(N):
            m_list = list("LRLRLRLRLRDUDUDUDUDULR")
            X = X_list[i]
            Y = Y_list[i]
            
            if r != 0:
                if X >= 0:
                    X -= 1
                    m_list_add = ["R"]
                else:
                    X += 1
                    m_list_add = ["L"]
            else:
                m_list_add = []
            if X % 2 == 1:
                if X > 0:
                    m_list[20] = "R"
                    X -= 1
                else:
                    X += 1
                if Y > 0:
                    m_list[21] = "U"
                    Y -= 1
                else:
                    m_list[21] = "D"
                    Y += 1
            if X > 0:
                m_list[X - 2] = "R"
            elif X < 0:
                m_list[-X - 1] = "L"
            if Y > 0:
                m_list[Y + 8] = "U"
            elif Y < 0:
                m_list[-Y + 9] = "D"
            print("".join(m_list + m_list_add))

### FIXED CODE ###

# D
N = int(input())
X_list = [0]*N
Y_list = [0]*N

res_flag = 1

r = -1
for i in range(N):
    X, Y = map(int, input().split())
    if r >= 0:
        if r != (X+Y)%2:
            res_flag = -1
    else:
        r = (X+Y)%2
    X_list[i] = X
    Y_list[i] = Y
    
if res_flag == -1:
    print(-1)
else:
    if r == 0:
        print(32)
        print(" ".join([str(2**i) for i in range(30, -1, -1)]+["1"]))
        X_add = 1
        m_list_add = ["L"]
    else:
        print(31)
        print(" ".join([str(2**i) for i in range(30, -1, -1)]))
        X_add = 0
        m_list_add = []
    for n in range(N):
        X = X_list[n] + X_add
        Y = Y_list[n]
        
        S = X + Y
        T = X - Y
        m_list = []
        for i in range(30, -1, -1):
            if S < 0 and T < 0:
                m_list.append("L")
                S += 2**i
                T += 2**i
            elif S < 0 and T > 0:
                m_list.append("D")
                S += 2**i
                T -= 2**i
            elif S > 0 and T > 0:
                m_list.append("R")
                S -= 2**i
                T -= 2**i
            elif S > 0 and T < 0:
                m_list.append("U")
                S -= 2**i
                T += 2**i
            else:
                print("?")
        if S != 0 or T != 0:
            print("?")
        
        print("".join(m_list + m_list_add))
a,b,c,d=map(int,input().split())
import math
def lcm(x, y):
    return (x * y) // math.gcd(x, y)
a_0=a//c
a_1=a//d
a_2=a//lcm(c,d)
n=a_0+a_1-a_2
#print(n)
b_0=b//c
b_1=b//d
b_2=b//lcm(c,d)
m=b_0+b_1-b_2
#print(m)
#b_1-b_2
print(b-a+1-(m-n))

### FIXED CODE ###

a,b,c,d=map(int,input().split())
import fractions
def lcm(x, y):
    return (x * y) // fractions.gcd(x, y)
a_0=(a-1)//c
a_1=(a-1)//d
a_2=(a-1)//lcm(c,d)
n=a_0+a_1-a_2
#print(n)
b_0=b//c
b_1=b//d
b_2=b//lcm(c,d)
m=b_0+b_1-b_2
#print(m)
#b_1-b_2
print(b-a+1-(m-n))
h,a = int(input()).split(' ')
attack =0
while(h>0):
  h=h-a;
  attack=attack+1
print(attack)

### FIXED CODE ###

h,a=map(int,input().split())
if(h%a!=0):
  print(h//a+1)
else:
  print(h//a)
import fractions
from functools import reduce

def gcd(*numbers):
    return reduce(fractions.gcd, numbers)

def gcd_list(numbers):
    return reduce(fractions.gcd, numbers)

N = int(input())
A = [int(x) for x in input().split()]
As = []
for i in A:
    if(not i in As):
        As+=[i]
As.sort()
cand = -1
mingcd = gcd_list(As)
typ = -1
if(N==2):
    print(max(As))
else:
    for i in range(len(As)-1):
        if(mingcd==gcd(As[i],As[i+1])):
            if(i<N-2):
                if(mingcd==gcd(As[i],As[i+2])):
                    cand = i
                else:
                    cand = i+1
                break
            else:
                cand = i+1
    if(cand==-1):
        cand = len(As)-1
    print(gcd_list(As[:cand]+As[cand+1:]))


### FIXED CODE ###

import fractions
from functools import reduce

def gcd(*numbers):
    return reduce(fractions.gcd, numbers)

def gcd_list(numbers):
    return reduce(fractions.gcd, numbers)

N = int(input())
A = [int(x) for x in input().split()]
L = [0]*N
R = [0]*N
ans = 0
for i in range(N):
    if(i==0):
        L[i] = A[0]
        R[i] = A[-1]
    else:
        L[i] = gcd(A[i],L[i-1])
        R[i] = gcd(A[-i-1],R[i-1])

for i in range(N):
    if(i==0):
        ans = R[-2]
    elif(i==N-1):
        ans = max(ans,L[-2])
    else:    
        ans = max(ans,gcd(L[i-1],R[-i-2]))
print(ans)
from sys import stdin

n = int(stdin.readline().rstrip())

li = [0]*86

li[0] = 2
li[1] = 1

for i in range(2,86):
    li[i] = li[i-1] + li[i-2]

print(li[n])

### FIXED CODE ###

from sys import stdin

n = int(stdin.readline().rstrip())

li = [0]*87

li[0] = 2
li[1] = 1

for i in range(2,87):
    li[i] = li[i-1] + li[i-2]

print(li[n])
K,X=map(int,input())

if 500*K>=X:
  print("Yes")
else:
  print("No")

### FIXED CODE ###

K,X=map(int,input().split())
 
if 500*K>=X:
  print("Yes")
else:
  print("No")