Harryxun/stf_run huggingface dataset:
while True:
    m,n = map(int,input().split())
    sw = []
    bw = []
    if m == 0 and n == 0:
        break
    for i in range(2*n-1):
        if i % 2 == 0:
            sw.append(list(map(int,input().split())))
        else:
            bw.append(list(map(int,input().split())))
    flag = [[0 for i in range(m)] for j in range(n)]
    l = [(0,0,1)]
    res = 0
    while l:
        bf = l.pop(0)
        x,y,z = bf[0],bf[1],bf[2]
        if x == n-1 and y == m-1:
            res = z
            break
        flag[x][y] = 1
        if 1 <= x and bw[x-1][y] == 0 and flag[x-1][y] == 0:
            l.append((x-1,y,z+1))
        if y < m-1 and sw[x][y] == 0 and flag[x][y+1] == 0:
            l.append((x,y+1,z+1))
        if 1 <= y and sw[x][y-1] == 0 and flag[x][y-1] == 0:
            l.append((x,y-1,z+1))
        if x < n-1 and bw[x][y] == 0 and flag[x+1][y] == 0:
            l.append((x+1,y,z+1))
    print(res)

### FIXED CODE ###

while True:
    m,n = map(int,input().split())
    sw = []
    bw = []
    if m == 0 and n == 0:
        break
    for i in range(2*n-1):
        if i % 2 == 0:
            sw.append(list(map(int,input().split())))
        else:
            bw.append(list(map(int,input().split())))
    flag = [[0 for i in range(m)] for j in range(n)]
    l = [(0,0,1)]
    res = 0
    while l:
        bf = l.pop(0)
        if bf[0] == n-1 and bf[1] == m-1:
            res = bf[2]
            break
        flag[bf[0]][bf[1]] = 1
        if 1 <= bf[0] and bw[bf[0]-1][bf[1]] == 0 and flag[bf[0]-1][bf[1]] == 0:
            flag[bf[0]-1][bf[1]] = 1
            l.append((bf[0]-1,bf[1],bf[2]+1))
        if bf[1] < m-1 and sw[bf[0]][bf[1]] == 0 and flag[bf[0]][bf[1]+1] == 0:
            flag[bf[0]][bf[1]+1] = 1
            l.append((bf[0],bf[1]+1,bf[2]+1))
        if 1 <= bf[1] and sw[bf[0]][bf[1]-1] == 0 and flag[bf[0]][bf[1]-1] == 0:
            flag[bf[0]][bf[1]-1] = 1
            l.append((bf[0],bf[1]-1,bf[2]+1))
        if bf[0] < n-1 and bw[bf[0]][bf[1]] == 0 and flag[bf[0]+1][bf[1]] == 0:
            flag[bf[0]+1][bf[1]] = 1
            l.append((bf[0]+1,bf[1],bf[2]+1))
    print(res)
import sys
input = lambda : sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x+"\n")


n,k = list(map(int, input().split()))
a = [list(map(int, input().split())) for _ in range(n)]
import networkx as nx
ans = (-float("inf"), None)
for f in range(1,n*k+1):
    g = nx.DiGraph()
    for i in range(2*n):
        g.add_node(i)
    g.add_node(2*n, demand=-f)
    g.add_node(2*n+1, demand=f)
    for i in range(n):
        g.add_edge(2*n, i, capacity=k, weight=0)
        g.add_edge(i+n, 2*n+1, capacity=k, weight=0)

    for i in range(n):
        for j in range(n):
            g.add_edge(i, j+n, capacity=1, weight=-a[i][j])
    val, d = nx.network_simplex(g)
    vals = [["."]*n for _ in range(n)]
    for i in range(n):
        for j in range(n):
            if d[i][j+n]==1:
                vals[i][j] = "X"
    if -val>ans[0]:
        ans = (-val, vals)
print(ans[0])
print("\n".join("".join(ans[1][i]) for i in range(n)))

### FIXED CODE ###

import sys
input = lambda : sys.stdin.readline().rstrip()
sys.setrecursionlimit(max(1000, 10**9))
write = lambda x: sys.stdout.write(x+"\n")


n,k = list(map(int, input().split()))
a = [list(map(int, input().split())) for _ in range(n)]
import networkx as nx
ans = (-float("inf"), None)
f = n*k
g = nx.DiGraph()
for i in range(2*n):
    g.add_node(i)
g.add_node(2*n, demand=-f)
g.add_node(2*n+1, demand=f)
for i in range(n):
    g.add_edge(2*n, i, capacity=k, weight=0)
    g.add_edge(i+n, 2*n+1, capacity=k, weight=0)
g.add_edge(2*n, 2*n+1, capacity=f, weight=0)
for i in range(n):
    for j in range(n):
        g.add_edge(i, j+n, capacity=1, weight=-a[i][j])
val, d = nx.network_simplex(g)
vals = [["."]*n for _ in range(n)]
for i in range(n):
    for j in range(n):
        if d[i][j+n]==1:
            vals[i][j] = "X"
if -val>ans[0]:
    ans = (-val, vals)
print(ans[0])
print("\n".join("".join(ans[1][i]) for i in range(n)))
S=input()
if S="ABC":
    print("ARC")
elif S="ARC":
    print("ABC")


### FIXED CODE ###

S=str(input())
if S=="ABC":
    print("ARC")
elif S=="ARC":
    print("ABC")
a,b=map(int, input().split())
if a=>13:
  out=b
elif a=6:
  out=b/2
else:
  out=0
  
print(out)

### FIXED CODE ###

a,b=map(int, input().split())
if a>=13:
  out=b
elif a>=6:
  out=int(b/2)
else:
  out=int(0)
  
print(out)
n = input()

S = [int(x) for x in raw_input().split()]

q = input()

T = [int(x) for x in raw_input().split()]

C = 0

for i in S:
 for j in T:
  if i==j:
   C += 1
   break:

print C

### FIXED CODE ###

n = input()

S = [int(x) for x in raw_input().split()]

q = input()

T = [int(x) for x in raw_input().split()]

C = 0

for i in T:
 for j in S:
  if i==j:
   C += 1
   break

print C
import sys
import collections
input = sys.stdin.readline
N = int(input())
S = input().strip()
assert 1 <= N <= 4000
assert N == len(S)
r = S.count("R")
g = S.count("G")
b = S.count("B")
total = 0
for j in range(1, N-1):
    for i in range(j):
        k = 2*j-i
        if k < len(S):
            if S[i] != S[j] and S[i] != S[k] and S[j] != S[k]:
                total += 1
# print(c["R"]*c["G"]*c["B"]-total)
print(r*g*b - total)


### FIXED CODE ###

import sys
input = sys.stdin.readline
N = input()
assert 100 <= int(N) <= 999
print("Yes") if str(7) in N else print("No")
A, B = list(map(int, input().split()))

from math import gcd

print(A * B / gcd(A, B))

### FIXED CODE ###

A, B = list(map(int, input().split()))
from fractions import gcd

print(A * B // gcd(A, B))
# -*- coding: utf-8 -*-
a, b, c = map(int, input().split())
# 文字列の入力
if a+b>=c:
  print "Yes"
else:
  print "No"

### FIXED CODE ###

# -*- coding: utf-8 -*-
a, b, c = map(int, input().split())
# 文字列の入力
if a+b>=c:
  print("Yes")
else:
  print("No")
import math
def solution():
    a, b, h, m  = map(int, input().split())
    return math.round((a**2 + b**2 -2*a*b*math.cos(2*math.pi*(h/12 - m/60)))**0.5, 9)

print(solution())

### FIXED CODE ###

from math import *
def solution():
    a, b, h, m  = map(int, input().split())
    return (a*a+b*b-2*a*b*cos((m*11/360-h/6)*pi))**.5
print(solution())
n=int(input())
seqs =list(map(int,input().split()))
count = 0
for i in range(1,n+1):
    if i != seqs[i]:
        count += 1
if count <= 2:
    print("YES")
else:
    print("NO")

### FIXED CODE ###

a,b = map(int,input().split())
if (a-b)%2==0:
    print(int((a+b)/2))
else:
    print("IMPOSSIBLE")
t=list(map(int,input().split()))
a=list(map(int,input().split()))
b=list(map(int,input().split()))
p,q=[0],[0]
x,y=[(a[0]-b[0])*t[0],(a[1]-b[1])*t[1]]
#print(x,y,abs(x)<abs(y))
#exit()
if x+y==0:
    print("infinity")
#elif (x<0 and y<0) or (x>0 and y>0):
#    print(0)
#elif (x<0 and x+(x+y)>0) or (x>0 and x+(x+y)<0):
#    print(1)

#elif x<0 and x+y>0:
#    print((abs(x)//(x+y))*2+[0,1][abs(x)%(x+y)>0])
#elif x<0 and x+y<0:
#    print((y//abs(x+y))*2)
#elif x>0 and x+y<0:
#    print((x//abs(x+y))*2+[0,1][x%abs(x+y)>0])
elif x>0 and x+y>0:
    print((abs(y)//(x+y))*2+[0,3][abs(y)%(x+y)>0])
else:
    print(hhh)


### FIXED CODE ###

T1, T2 = map(int, input().split())
A1, A2 = map(int, input().split())
B1, B2 = map(int, input().split())
 
P = (A1 - B1) * T1
Q = (A2 - B2) * T2
if P > 0:
	P *= -1
	Q *= -1
 
if P + Q < 0:
	print(0)
elif P + Q == 0:
	print("infinity")
else:
	S = (-P) // (P + Q)
	T = (-P) % (P + Q)
	if T != 0:
		print(S * 2 + 1)
	else:
		print(S * 2)
x = input()
print (x**3)

### FIXED CODE ###

print(int(input()) ** 3)
# -*- coding: utf-8 -*-
"""
Created on Sat May  2 00:21:08 2020

@author: Kanaru Sato
"""

N = int(input())
h = list(map(int, input().split()))
memo = [0]*N

#topdown
def cost(n):
    if n == 0:
        return 0
    elif n == 1:
        return abs(h[1]-h[0])
    elif memo[n]:
        return memo[n]
    else:
        memo[n] = min(cost(n-2)+abs(h[n]-h[n-2]),cost(n-1)+abs(h[n]-h[n-1]))
        return memo[n]

print(cost(N-1))

### FIXED CODE ###

# -*- coding: utf-8 -*-
"""
Created on Sat May  2 00:21:08 2020

@author: Kanaru Sato
"""
import sys
sys.setrecursionlimit(10 ** 6)

N = int(input())
h = list(map(int, input().split()))
memo = [-1]*N
memo[0] = 0
memo[1] = abs(h[1]-h[0])

#topdown
def cost(n):
    if n <= 1 or memo[n] >= 0:
        return memo[n]
    else:
        memo[n] = min(cost(n-2)+abs(h[n]-h[n-2]),cost(n-1)+abs(h[n]-h[n-1]))
        return memo[n]

print(cost(N-1))
a,b,k = map(int,input().split())

x =list(range(a,b+1))
ans =[]

for i in range(k):
  if len(x) > i:
    ans.append(x[i])
    ans.append(x[-(1+i)])
  
  
ans.sort()
ans2 =set(ans)


s = "\n".join(map(str,ans2))
print(s)

### FIXED CODE ###

A,B,K = map(int,input().split())
            
ans=[]
            
for i in range(K):
  if A+i <=B:
    ans.append(A+i)
  if B-i >= A:
    ans.append(B-i)
            
            
ans = sorted(list(set(ans)))
print(*ans,sep="\n")
N = int(input())
ans = 0
for a in range(N):
  ans += (N//a)
print(ans)


### FIXED CODE ###

N = int(input())
ans = 0
for a in range(1,N):
  ans += (N-1)//a
print(ans)
MOD = 10**9+7
def inv_mod(a,p=MOD):
    def inv_mod_sub(a,p):
        if a == 1:
            return 1,0
        else:
            d,r = p//a,p%a
            x,y = inv_mod_sub(r,a)
            return y-d*x,x
    if p < 0: p = -p
    a %= p
    return inv_mod_sub(a,p)[0] % p

def comb_mod(n,k):
    if k < 0 or k > n:
        return 0
    else:
        return f_mod[n]*f_mod_inverse[k]*f_mod_inverse[n-k] % MOD

def f(a,b):
  return comb_mod(a+b,b)

r1,c1,r2,c2 = map(int,input().split())
f_mod=[1]*(2*10**6)
f_mod_inverse=[1]*(2*10**6)
for i in range(1,2*10**6):
  f_mod[i]=f_mod[i-1]*i%MOD
  f_mod_inverse[i]=f_mod_inverse[i-1]*inv_mod(i)%MOD
print((f(r2+1,c2+1)-f(r1,c2+1)-f(r2+1,c1)+f(r1,c1))%MOD)

### FIXED CODE ###

MOD = 10**9+7
def inv_mod(a,p=MOD):
    def inv_mod_sub(a,p):
        if a == 1:
            return 1,0
        else:
            d,r = p//a,p%a
            x,y = inv_mod_sub(r,a)
            return y-d*x,x
    if p < 0: p = -p
    a %= p
    return inv_mod_sub(a,p)[0] % p

def comb_mod(n,k):
    if k < 0 or k > n:
        return 0
    else:
        return f_mod[n]*f_mod_inverse[k]*f_mod_inverse[n-k] % MOD

def f(a,b):
  return comb_mod(a+b,b)

r1,c1,r2,c2 = map(int,input().split())
f_mod=[1]*(3*10**6)
f_mod_inverse=[1]*(3*10**6)
for i in range(1,3*10**6):
  f_mod[i]=f_mod[i-1]*i%MOD
  f_mod_inverse[i]=f_mod_inverse[i-1]*inv_mod(i)%MOD
print((f(r2+1,c2+1)-f(r1,c2+1)-f(r2+1,c1)+f(r1,c1))%MOD)
n=int(input())
b=list(map(int,input().split()))
a=[b[0],b[n-2]]
for i in range(n-1):
  a.append(min(a[i+1],a[i+2]))
print(sum(a))


### FIXED CODE ###

n=int(input())
b=list(map(int,input().split()))
a=[b[0],b[n-2]]
for i in range(n-2):
  a.append(min(b[i],b[i+1]))
print(sum(a))
import sys
 
def dfs(i, t, l, a, b):
   t += 1
   a[i] = t
   for j in l[i]:
      if not a[j-1]:
         t = dfs(j-1, t, l, a, b)
   t += 1
   b[i] = t
   return t
 
 
n = input()
l=[]
for i in range(n):
   x = int(s) for s in sys.stdin.readline().split()[2:]
   l.append(x)
a = [0] * n
b = [0] * n
t = 0
for i in xrange(n):
   if not a[i]:
      tm = dfs(i, t, l, a, b)
 
for i in xrange(n):
   print i+1, a[i], b[i] 

### FIXED CODE ###

import sys
  
def dfs(i, t, l, a, b):
   t += 1
   a[i] = t
   for j in l[i]:
      if not a[j-1]:
         t = dfs(j-1, t, l, a, b)
   t += 1
   b[i] = t
   return t
  
  
n = input()
l=[]
for i in range(n):
   l.append([int(s) for s in sys.stdin.readline().split()[2:]])
a = [0] * n
b = [0] * n
t = 0
for i in xrange(n):
   if not a[i]:
      t = dfs(i, t, l, a, b)
  
for i in xrange(n):
   print i+1, a[i], b[i]
# coding: utf-8

if __name__ == '__main__':
    while True:
        m,n = map(int,input().split())
        sw = []
        bw = []
        if m == 0 and n == 0:
            break
        for i in range(2*n-1):
            if i % 2 == 0:
                sw.append(list(map(int,input().split())))
            else:
                bw.append(list(map(int,input().split())))
        flag = [[0 for i in range(m)] for j in range(n)]
        l = [[0,0,1]]
        res = 0
        while l:
            bf = l[0]
            l.pop(0)
            if bf[0] == n-1 and bf[1] == m-1:
                res = bf[2]
                break
            flag[bf[0]][bf[1]] = 1
            if 1 <= bf[0] and bw[bf[0]-1][bf[1]] == 0 and flag[bf[0]-1][bf[1]] == 0:
                l.append([bf[0]-1,bf[1],bf[2]+1])
            if bf[1] < m-1 and sw[bf[0]][bf[1]] == 0 and flag[bf[0]][bf[1]+1] == 0:
                l.append([bf[0],bf[1]+1,bf[2]+1])
            if 1 <= bf[1] and sw[bf[0]][bf[1]-1] == 0 and flag[bf[0]][bf[1]-1] == 0:
                l.append([bf[0],bf[1]-1,bf[2]+1])
            if bf[0] < n-1 and bw[bf[0]][bf[1]] == 0 and flag[bf[0]+1][bf[1]] == 0:
                l.append([bf[0]+1,bf[1],bf[2]+1])
        print(res)

### FIXED CODE ###

while True:
    m,n = map(int,input().split())
    sw = []
    bw = []
    if m == 0 and n == 0:
        break
    for i in range(2*n-1):
        if i % 2 == 0:
            sw.append(list(map(int,input().split())))
        else:
            bw.append(list(map(int,input().split())))
    flag = [[0 for i in range(m)] for j in range(n)]
    l = [(0,0,1)]
    res = 0
    while l:
        bf = l.pop(0)
        if bf[0] == n-1 and bf[1] == m-1:
            res = bf[2]
            break
        flag[bf[0]][bf[1]] = 1
        if 1 <= bf[0] and bw[bf[0]-1][bf[1]] == 0 and flag[bf[0]-1][bf[1]] == 0:
            flag[bf[0]-1][bf[1]] = 1
            l.append((bf[0]-1,bf[1],bf[2]+1))
        if bf[1] < m-1 and sw[bf[0]][bf[1]] == 0 and flag[bf[0]][bf[1]+1] == 0:
            flag[bf[0]][bf[1]+1] = 1
            l.append((bf[0],bf[1]+1,bf[2]+1))
        if 1 <= bf[1] and sw[bf[0]][bf[1]-1] == 0 and flag[bf[0]][bf[1]-1] == 0:
            flag[bf[0]][bf[1]-1] = 1
            l.append((bf[0],bf[1]-1,bf[2]+1))
        if bf[0] < n-1 and bw[bf[0]][bf[1]] == 0 and flag[bf[0]+1][bf[1]] == 0:
            flag[bf[0]+1][bf[1]] = 1
            l.append((bf[0]+1,bf[1],bf[2]+1))
    print(res)
import itertools

l = list(map(int, input().split()))

n = l[0]
m = l[1]
d = l[2]

def get_beauty(l,d):
    # top = abs(l[0]-l[1])
    other = list(map(lambda x,y:abs(x-y),l[:-1],l[1:]))
    return other.count(d)

aa = [i+1 for i in range(n)]
candi = list(itertools.product(aa,repeat=m))
print(candi)
beauty = list(map(get_beauty,candi,[d for i in range(len(candi))]))
print(sum(beauty)/len(candi))


### FIXED CODE ###

l = input().split()
if int(l[0])+int(l[1])==15:
    print('+')
elif int(l[0])*int(l[1]) ==15:
    print('*')
else:
    print('x')
import math
def resolve():
    n=int(input())
    ans=(':(')
    for i in range(1,n+1):
        if math.floor(i*1.08)==n:
            ans=i
    print(ans)
resolve()


### FIXED CODE ###

def resolve():
    m1,d1=map(int, input().split())
    m2,d2=map(int, input().split())
    if m2==m1+1 and d2==1:
        print('1')
    elif m1==12 and m2==1 and d2==1:
        print('1')
    else:
        print('0')
resolve()
def main ():
  n = int(input())
  values = list(map(int, input().split()))
  if 0 in values:
    print(0)
    return
  
  mult = 1
  for i in values:
    mult *= i
    if mult > 10**18:
      print(-1)
      return
    
    print(prod)
    
main ()


### FIXED CODE ###

def main():
  n = int(input())
  values = list(map(int, input().split()))
  if 0 in values:
    print(0)
    return

  mult = 1
  for i in values:
    mult *= i
    if mult > 1000000000000000000:
      print(-1)
      return
  print(mult)

main()
n = int(input())
check = {}
lst = []

for _ in range(n):
  s = list(input())
  s.sort()
  s = "".join(s)
  lst.append(s)
  try:
    check[s]+=1
  else:
    check.update({s:1})
  
cnt=0
check_set = set(lst)
for c in check_set:
  temp_cnt = check[c]
  cnt +=  temp_cnt*(temp_cnt-1)/2
print(int(cnt))

### FIXED CODE ###

n = int(input())
check = {}
lst = []

for _ in range(n):
  s = list(input())
  s.sort()
  s = "".join(s)
  lst.append(s)
  try:
    check[s]+=1
  except:
    check.update({s:1})
  
cnt=0
check_set = set(lst)
for c in check_set:
  temp_cnt = check[c]
  cnt +=  temp_cnt*(temp_cnt-1)/2
print(int(cnt))
n = int(input())
words = [input() for _ in range(n)]
print("Yes" if all([y[0] == x[-1] for x, y in zip(words, words[1:])) and len(set(words)) == n else "No")

### FIXED CODE ###

n = int(input())

words = [input() for _ in range(n)]

spoken = {words[0]}

for x, y in zip(words, words[1:]):
    if y[0] != x[-1]:
        print("No")
        exit()
    if y in spoken:
        print("No")
        exit()
    spoken.add(y)
else:
    print("Yes")
import numpy as np

H, W = map(int, input().split())
s = [list(input()) for _ in range(H)]

X = np.zeros((W, H))
for i in range(H):
    start = 0
    cnt = 0
    for j in range(W):
        if s[i][j] == "." and j == W - 1:
            cnt += 1
            for k in range(start, W):
                if s[i][k] == ".":
                    X[i][k] = cnt
        elif s[i][j] == ".":
            cnt += 1
        elif s[i][j] == "#":
            for k in range(start, j):
                if s[i][k] == ".":
                    X[i][k] = cnt
            start = j
            cnt = 0

Y = np.zeros((W, H))
for i in range(W):
    start = 0
    cnt = 0
    for j in range(H):
        if s[j][i] == "." and j == H - 1:
            cnt += 1
            for k in range(start, H):
                if s[k][i] == ".":
                    Y[k][i] = cnt
        elif s[j][i] == ".":
            cnt += 1
        elif s[j][i] == "#":
            for k in range(start, j):
                if s[k][i] == ".":
                    Y[k][i] = cnt
            start = j
            cnt = 0

XY = X + Y - 1
print(int(np.max(XY)))


### FIXED CODE ###

H, W = map(int, input().split())
s = [list(input()) for _ in range(H)]

X = [[0] * W for _ in range(H)]
for i in range(H):
    start = 0
    cnt = 0
    for j in range(W):
        if s[i][j] == "." and j == W - 1:
            cnt += 1
            for k in range(start, W):
                if s[i][k] == ".":
                    X[i][k] = cnt
        elif s[i][j] == ".":
            cnt += 1
        elif s[i][j] == "#":
            for k in range(start, j):
                if s[i][k] == ".":
                    X[i][k] = cnt
            start = j
            cnt = 0

Y = [[0] * W for _ in range(H)]
for i in range(W):
    start = 0
    cnt = 0
    for j in range(H):
        if s[j][i] == "." and j == H - 1:
            cnt += 1
            for k in range(start, H):
                if s[k][i] == ".":
                    Y[k][i] = cnt
        elif s[j][i] == ".":
            cnt += 1
        elif s[j][i] == "#":
            for k in range(start, j):
                if s[k][i] == ".":
                    Y[k][i] = cnt
            start = j
            cnt = 0

XY = []
for i in range(H):
    for j in range(W):
        XY.append(X[i][j] + Y[i][j] - 1)

print(max(XY))
S = map(int, input().split())
c = 0

if S%10 == 1:
  c += 1
if S//100 == 1:
  c += 1
if (S//10)%10 == 1:
  c += 1
print(c)

### FIXED CODE ###

S = int(input())
c = 0

if S%10 == 1:
  c += 1
if S//100 == 1:
  c += 1
if (S//10)%10 == 1:
  c += 1
print(c)
def gcd(x, y):
    if y == 0:
        return x
    else:
        return gcd(y, x % y) 

n, X = map(int, input().split())
x = list(map(int, input().split()))
if len(x) == 1:
  print(abs(x[0] - X))
else:
  x.sort()
  s = []
  for i in range(n-1):
    s.append(x[i+1] - x[i])

  for i in range(len(s)-1):
    a = gcd(s[i], s[i+1])
  u = 0
  for i in range(n):
    u = max(u, gcd(abs(X-x[i]), a))
  print(u)

### FIXED CODE ###

def gcd(x, y):
    if y == 0:
        return x
    else:
        return gcd(y, x % y) 

n, X = map(int, input().split())
x = list(map(int, input().split()))
if len(x) == 1:
  print(abs(x[0] - X))
else:
  x.sort()
  s = x[1] - x[0]
  for i in range(1, n-1):
    s = gcd(s, x[i+1]-x[i])
  a = 1
  for i in range(n):
    a = max(a, gcd(abs(X-x[i]), s))
  print(a)
A = int(input())
B = str(input())
b = int(B.replace(".",""))
print(A * b // 100)

### FIXED CODE ###

a, b = map(str, input().split())
a = int(a)
b = int(b.replace('.', ''))
print(a*b//100)
N = input()
N = int(N)
A = list(map(int, input().split()))

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

    # divisors.sort()
    return divisors

def primes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    return [i for i in range(n + 1) if is_prime[i]]

if N == 2:
    print(max(A))

else:
    pn = primes(max(A))
    ans_num = 0
    ans = 1
    for i in pn:
        count = 0
        for j in range(N):
            if A[j] % i != 0:
                count += 1
        
        if count < N-1:
            ans *= i


    print(str(ans))

### FIXED CODE ###

from fractions import gcd
import copy

n = int(input())
a_list = list(map(int, input().split()))

ans_list = []
l_list = [0]*(n+1)
r_list = [0]*(n+1)

for i in range(n):
    l_list[i+1] = gcd(l_list[i], a_list[i])
    r_list[n-i-1] = gcd(r_list[n-i], a_list[n-i-1])

ans_list = []
for j in range(n):
    ans_list.append(gcd(l_list[j], r_list[j+1]))

#print(ans_list)

print(max(ans_list))
D, N =  map(int,input().split())
if D == 0:
    li = [int(i) for i in range(1,99)]
    print(li[N-1])
if D == 1:
    li = [int(i) for i in range(int(100),int(1e4),int(100))]
    print(li[N-1])
if D == 2:
    li = [int(i) for i in  range(int(1e4),int(1e9),int(1e4))]
    print(li[N-1])

### FIXED CODE ###

D, N = map(int, input().split())
print(100 ** D * (N + N // 100))
K=int(input())
S=input()
if lens(s)>k:
    print(S[ :K ] + "...")
else:
    print(s)
S[]
S[5:]


### FIXED CODE ###

# Take the input K
# Take the inpus S

#Compare the length of S with K and put in in length
#If length<=K... print all
#If length>K... print some of the character

K = int(input()) # 0(1)
S = input() #0(1)
second_answer = [] #0(1)
x = 0 #0(1)

length = len(S) #0(1)

if length <= K : 
    print(S) #0(1)
else:
    while x<K : #0(K)
        print(S[x], end= (""))
        x += 1
    print("...")
if sum(cc) >= a:
    print('Yes')
else:
    print('No')

### FIXED CODE ###

a,b,*cc = map(int, open(0).read().split())

if sum(cc) >= a:
    print('Yes')
else:
    print('No')
from sys import stdin
import collections

N=int(input())
xlist=[]
ylist=[]
for i in range(N):
  x, y = map(int, stdin.readline().rstrip().split())
  xlist.append(x)
  ylist.append(y)

tupleList=[]
for i in range(N):
  for j in range(N):
    if i != j:
      tupleList.append((xlist[i] - xlist[j], ylist[i] - ylist[j]))

c = collections.Counter(tupleList)
print(N-max(c.values()))


### FIXED CODE ###

from sys import stdin

N=int(input())
xlist=[]
ylist=[]
dict = {}
for i in range(N):
  x, y = map(int, stdin.readline().rstrip().split())
  xlist.append(x)
  ylist.append(y)

for i in range(N):
  for j in range(N):
    if i != j:
      tupleStr=str(xlist[i] - xlist[j])+","+str(ylist[i] - ylist[j])
      if tupleStr in dict:
        dict[tupleStr]+=1
      else:
        dict[tupleStr]=1

maxNum=0
for val in dict.values():
  maxNum = max(maxNum, val)

print(N-maxNum)