Harryxun/stf_run huggingface dataset:
from collections import Counter

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

v_0 = v[0:n-1:2]
v_1 = v[1:n:2]

v_0_max = Counter(v_0).most_common()[0][0]
v_1_max = Counter(v_1).most_common()[0][0]

if len(set(v_0)) == len(set(v_1)):
    if v_0_max == v_1_max:
        res = len(v_0)
    else:
        res = 0

else:
    v_0_sec = Counter(v_0).most_common()[1][0]
    v_1_sec = Counter(v_1).most_common()[1][0]

    if v_0_max == v_1_max:
        if v_0_sec > v_1_sec:
            v_0_max = v_0_sec
        else:
            v_1_max = v_1_sec

    res = 0
    for v0, v1 in zip(v_0,v_1):
        if v0 != v_0_max:
            res += 1
        if v1 != v_1_max:
            res += 1

print(res)

### FIXED CODE ###

from collections import Counter

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

v0 = v[0:n-1:2]
v1 = v[1:n:2]

c0 = Counter(v0).most_common()
c1 = Counter(v1).most_common()

if len(set(v0)) == len(set(v1)) == 1:
    if c0[0] == c1[0]:
        res = len(v0)
    else:
        res = 0

else:
    if c0[0] != c1[0]:
        res = n - c0[0][1] - c1[0][1]
    else:
        res = min(n - c0[0][1] - c1[1][1], n - c0[1][1] - c1[0][1])

print(res)
x, k, d = map(int, input().split())
x = abs(x)
if x > k*d:
    print(x-k*d)
else:
    p = x//d
    if p == 0 or p==1:
          for i in range(1,k+1):
            p2 = x-i*d
            c = k-i
            if p2 <= 0:
                if c%2 != 0:
                    print(abs(d+p2))
                    break
                elif c%2 == 0:
                    print(abs(p2))
                    break
    c = k-p
    elif c%2 == 0:
        print(abs(x-p*d))
    else:
        print(abs(d-abs(x-p*d)))

### FIXED CODE ###

x, k, d = map(int, input().split())
x = abs(x)
if x > k*d:
    print(x-k*d)
else:
    p = x//d
    c = k-p
    if p == 0 or p==1:
          for i in range(1,k+1):
            p2 = x-i*d
            c = k-i
            if p2 <= 0:
                if c%2 != 0:
                    print(abs(d+p2))
                    break
                elif c%2 == 0:
                    print(abs(p2))
                    break
    elif (c%2 == 0):
        print(abs(x-p*d))
    else:
        print(abs(d-abs(x-p*d)))
import itertools as it

x = int(input())
f = 0

c = x // 100

l = list(it.combinations(range(100,106),c))

for i in l:
    if x % sum(i) == 0:
        f = 1

if f:
    print(1)
else:
    print(0)

### FIXED CODE ###

x = int(input())

n = x // 100
f = 0

for j in range(n+1):
    if j*100 <= x <= j*105:
        f = 1

if f:
    print(1)
else:
    print(0)
S = list(int(input()))
a = S.counter(0)
b = S.counter(1)
ans = 2 * min(a, b)
print(ans)


### FIXED CODE ###

S = list(input())
a = S.count('0')
b = S.count('1')
ans = 2 * min(a, b)
print(ans)
A, B, K = map(int, input().split())

for i in range(K):
	if A == 0 or B == 0:
		break
    if A % 2 == 1:
        A -= 1
    A /= 2
    A, B = B + A, A

print(int(A), int(B))


### FIXED CODE ###

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

for i in range(K):
    if A % 2 == 1:
        A -= 1
    A /= 2
    A, B = B + A, A

if K % 2 == 1:
    A, B = B, A
print(int(A), int(B))
import sys
 
input = sys.stdin.readline
mod = 10 ** 9 + 7
s = str(input().rstrip('\n'))
ls = [[0] * 13 for _ in range(len(s))]
for i in range(len(s)):
    if i == 0:
        if s[-i-1] == "?":
            for j in range(10):
                ls[i][j] += 1
        else:
            ls[i][int(s[-i-1])] += 1
    else:
        mult = pow(10, i, 13)
        if s[-i-1] == "?":
            for j in range(13):
                for k in range(10):
                    ls[i][(k * mult + j) % 13] += ls[i-1][j]
        else:
            st = int(s[-i-1])
            for j in range(13)　　　
        　　　　ls[i][(st * mult + j) % 13] += ls[i-1][j]
    for j in range(13):
        ls[i][j] = ls[i][j] % mod
print(ls[-1][5])

### FIXED CODE ###

import sys
 
 
def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    s = str(input().rstrip('\n'))
    ls = [[0] * 13 for _ in range(len(s))]
    for i in range(len(s)):
        if i == 0:
            if s[-i-1] == "?":
                for j in range(10):
                    ls[i][j] += 1
            else:
                ls[i][int(s[-i-1])] += 1
        else:
            mult = pow(10, i, 13)
            if s[-i-1] == "?":
                for j in range(13):
                    for k in range(10):
                        ls[i][(k * mult + j) % 13] += ls[i-1][j]
            else:
                st = int(s[-i-1])
                for j in range(13):
                    ls[i][(st * mult + j) % 13] += ls[i-1][j]
        for j in range(13):
            ls[i][j] = ls[i][j] % mod
    print(ls[-1][5])
 
 
if __name__ == '__main__':
    solve()
H,W=map(int,inout(),split())
h,w=map(int,inout().split())
all=H*W
black=h*w+H*w-h*w
white=all-black
purint(white)

### FIXED CODE ###

H,W=map(int,input().split())
h,w=map(int,input().split())
math=H*W
black=h*W+H*w-h*w
white=math-black
print(white)
def cross(p0, p1, p2):
  dx1, dx2 = p1[0] - p0[0], p2[0] - p0[0]
  dy1, dy2 = p1[1] - p0[1], p2[1] - p0[1]
  return dy2 * dx1 - dy1 * dx2
 
while True:
  line = raw_input()
  l = [float(r) for r in line.split(',')]
  a, b, c, d = l[0:2], l[2:4], l[4:6], l[6:8]
  print 'YES' if (cross(a, c, b) * cross(a, c, d)) < 0 and (cross(b, d, a) * cross(b, d, c) < 0) else 'NO'

### FIXED CODE ###

import sys

def cross(p0, p1, p2):
  dx1, dx2 = p1[0] - p0[0], p2[0] - p0[0]
  dy1, dy2 = p1[1] - p0[1], p2[1] - p0[1]
  return dy2 * dx1 - dy1 * dx2
 
for line in iter(sys.stdin.readline, ''):
  l = [float(r) for r in line.split(',')]
  a, b, c, d = l[0:2], l[2:4], l[4:6], l[6:8]
  print 'YES' if (cross(a, c, b) * cross(a, c, d)) < 0 and (cross(b, d, a) * cross(b, d, c) < 0) else 'NO'
import sys

a = []
for l in sys.stdin:
    if l == '\n':
        break
    else :
        a.append(l)

target = a[int(a[0])]
num = 0
for i in range(1, len(a) - 1):
    for j in range(i + 1, len(a)):
        flag = False
        iStrSorted = ''.join(sorted(a[i]))
        jStrSorted = ''.join(sorted(a[j]))]
        if iStrSorted==jStrSorted:
            flag = True
        else:
            flag = False
        if flag:
            num = num + 1
print(num)

### FIXED CODE ###

import sys
import collections

n=int(input())
a=[''.join(sorted(input())) for _ in range(n)]

ans = 0
for v in collections.Counter(a).values():
    if v != 1:
        ans += v * (v - 1) // 2
print(ans)
a,b=map(int,input().stlip())

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


### FIXED CODE ###

A, B = map(int, input().split())
if 0 <= A <= 9 and 0 <= B <= 9:
    print(A*B)
else:
    print(-1)
input();a=list(map(int,input().split()))[::-1];print(a[0],min(sorted(a,key=lambda x:abs(a[0]-2*x))))

### FIXED CODE ###

a,b,x=map(int,input().split())
print("YES"if a+b>=x>=a else"NO")
l


### FIXED CODE ###

i = 1
while True:
  n = int(input())
  if n == 0:
    break
  print("Case ", i, ": ", n, sep = "")
  i = i+1
s = [int(i) for i in input()]
op = {'+':1, '-':-1}
for a in op:
  for b in op:
    for c in op:
      if s[0] + op['a'] * s[1] + op['b'] * s[2] + op['c'] * s[3] == 7:
        print(str(s[0]) + op['a'] + str(s[1]) + op['b'] + str(s[2]) + op['c'] + str(s[3]) + '=7')

### FIXED CODE ###

def main():
    s = [int(i) for i in input()]
    op = {'+':1, '-':-1}
    for a in op:
        for b in op:
            for c in op:
                if s[0] + op[a] * s[1] + op[b] * s[2] + op[c] * s[3] == 7:
                    return (str(s[0]) + a + str(s[1]) + b + str(s[2]) + c + str(s[3]) + '=7')

        
if __name__ == '__main__':
    print(main())
a = input()
b = input()
print(b+a, end="")

### FIXED CODE ###

s,t=input().split()
print(t+s)
x**3

### FIXED CODE ###

x = int(input())
print (x ** 3)
N = int(input())
S = input()
N = [[0 for _ in range(len(S))] for _  in  range(2)]
B,W = 0,1
# 左から.W 右へ#B
for idx,s in enumerate(S):
  if s is "#":
    N[idx][B] = N[idx-1][B] + 1
    N[idx][W] = N[idx-1][W]
  else:
    N[idx][B] = N[idx-1][B]
    N[idx][W] = N[idx-1][W] + 1

print(int(min([N[i][B]+N[-1][W]-N[i][W] for i in range(len(S)-1)]+[N[-1][W],N[-1][B]]   )))


### FIXED CODE ###

N = int(input())
S = input()

import numpy as np

N = np.zeros((len(S),2))
B,W = 0,1
# 左から.W 右へ#B
for idx,s in enumerate(S):
  if s is "#":
    N[idx,B] = N[idx-1,B] + 1
    N[idx,W] = N[idx-1,W]
  else:
    N[idx,B] = N[idx-1,B]
    N[idx,W] = N[idx-1,W] + 1

print(int(min([N[i,B]+N[-1,W]-N[i,W] for i in range(len(S)-1)]+[N[-1,W],N[-1,B]]   )))
n, m = map(int, input().split())

mod = 10 ** 9 + 7


def Fib(n, memo={}):
    if n == 1:
        return 0
    elif n == 2:
        return 1
    elif n in memo:
        return memo[n] % mod
    else:
        memo[n] = Fib(n - 1, memo) + Fib(n - 2, memo)
        return memo[n] % mod


A = list(int(input()) for i in range(m))


if m > 0:
    ans = Fib(A[0] + 1) % mod
    for i in range(m - 1):
        if A[i + 1] == A[i]:
            continue
        ans *= Fib(A[i + 1] - A[i])
        ans %= mod
        if A[i] + 1 == A[i + 1]:
            print(0)
            exit()
    ans *= Fib(n - A[-1] + 1)
    ans %= mod
else:
    ans = Fib(n + 2) % mod
print(ans)

### FIXED CODE ###

n, m = map(int, input().split())
A = list(int(input()) for i in range(m))

mod = 10 ** 9 + 7

def Fib(n):
    a, b = 0, 1
    if n == 1:
        return a
    elif n == 2:
        return b
    else:
        for i in range(n-2):
            a, b = b, a + b
        return b


if m > 0:
    ans = Fib(A[0] + 1) % mod
    for i in range(m - 1):
        if A[i] == A[i + 1]:
            continue
        ans *= Fib(A[i + 1] - A[i])
        ans %= mod
    ans *= Fib(n - A[-1] + 1)
    ans %= mod
else:
    ans = Fib(n + 2) % mod
print(ans)
import math


N = int(input())
A = list(map(int, input().split()))
first_gcd = A[0]
for i in range(len(A)):
    first_gcd = math.gcd(first_gcd, A[i])
print(first_gcd)

### FIXED CODE ###

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


N = int(input())
A = list(map(int, input().split()))
first_gcd = A[0]
for i in range(len(A)):
    first_gcd = gcd(first_gcd, A[i])
print(first_gcd)
n, m = map(int, input().split())

if n % 2: # odd
    raise Exception()
    for i in range(n // 2):
        print(i + 1, n - i)
else: # even
    a = [True] * n
    cnt = 1
    for i in range(n):
        if i + cnt >= n:
            break
        if a[i]:
            print(i + 1, i + 1 + cnt)
            a[i + cnt] = False
            cnt += 1


### FIXED CODE ###

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

if n % 2: # odd
    for i in range(m):
        print(i + 1, n - i)
else: # even
    for i in range(m):
        if 1 + 2 * i >= n - 1 - 2 * i:
            l1 = i
            break
        m -= 1
        print(i + 1, n - i)

    for i in range(m):
        if i + 1 + l1 >= n - i - l1 - 1:
            raise Exception()
        print(i + 1 + l1, n - i - l1 - 1)
n = int(input())
s = set()
for i in range(n):
  s.insert(input())
print(len(s))

### FIXED CODE ###

n = int(input())
s = set()
for i in range(n):
  s.add(input())
print(len(s))
import sys
import copy
import math
import bisect
import pprint
import bisect

glist=[]

def makelist(max,num,list):
    if num == max:
        glist.append(list)
    else:
        list1 = copy.deepcopy(list)
        list1[num]=-1
        makelist(max,num+1,list1)
        list2 = copy.deepcopy(list)
        list2[num]=1
        makelist(max,num+1,list2)

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


if __name__ == '__main__':
    a,b  = map(int, input().split())
    ans = lcm(a,b)
    print(ans)





### FIXED CODE ###

import fractions
 
def lcm(x, y):
    return (x * y) // fractions.gcd(x, y)
 
if __name__ == '__main__':
    a,b  = map(int, input().split())
    ans = lcm(a,b)
    print(ans)
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,queue,copy

sys.setrecursionlimit(10**7)
inf=10**20
mod=10**9+7
dd=[(-1,0),(0,1),(1,0),(0,-1)]
ddn=[(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS(): return sys.stdin.readline().split()
def S(): return input()

# Factoring by trial split
def getPrimeList(n):
  l=[]
  t=int(math.sqrt(n))+1
  
  for a in range(2,t):
    while n%a==0:
      n//=a
      l.append(a)
  
  if n!=1:
    l.append(n)
  
  return l

def main():
  n=I()
  a=getPrimeList(n)

  ans=inf
  b=len(a)
  for i in range(2**b//2):
    _a=_b=1
    for j,x in enumerate(b):
      if ((i>>j)&1):
        _a*=x
      else:
        _b*=x
    ans=min(ans,_a+_b-2)
  return ans

# main()
print(main())


### FIXED CODE ###

import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,queue,copy

sys.setrecursionlimit(10**7)
inf=10**20
mod=10**9+7
dd=[(-1,0),(0,1),(1,0),(0,-1)]
ddn=[(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS(): return sys.stdin.readline().split()
def S(): return input()

def main():
  n=I()

  ans=inf
  for x in range(1,int(math.sqrt(n))+1):
    if n%x==0:
      ans=min(ans,x+n//x-2)
  return ans

# main()
print(main())
import math
"""再帰的な解(メモ化つき)"""
N = int(input())
h = list(map(int, input().split()))

dp = list([math.inf for i in range(N)])  # dpテーブル


def recursive(i):
    res = math.inf
    if dp[i] < math.inf:
        return dp[i]
    if i == 0:
        return 0
    if i > 0:
        res = min(res, recursive(i - 1) + abs(h[i] - h[i - 1]))
    if i > 1:
        res = min(res, recursive(i - 2) + abs(h[i] - h[i - 2]))
    dp[i] = res
    return res


print(recursive(N - 1))


### FIXED CODE ###

import math

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

dp = list([math.inf for i in range(N)])  # dpテーブル
dp[0] = 0
for i in range(N):
    a = dp[i]
    b = dp[i - 1] + abs(h[i] - h[i - 1])
    if a > b:
        dp[i] = b
    else:
        dp[i] = a
    a = dp[i]
    if i > 1:
        b2 = dp[i - 2] + abs(h[i] - h[i - 2])
        if a > b2:
            dp[i] = b2
        else:
            dp[i] = a

print(dp[N - 1])
listA=[] #appendのために宣言が必要
while True:
    try:
        listA.append(list(map(int,input().split())))

    except:
        break;
        
N = listA[0][0]
M = listA[0][1]

ans = [0] * N
pena = [0] * N

for i in range(1, M):
    num=listA[i][0] -1
    res=listA[i][1]
    if(res=="WA" and ans[num] == 0):
        pena[num] =  pena[num]+1
    if(res=="AC"):
        ans[num] = ans[num] + 1                      
        
print('%d %d' % (sum(ans), sum(pena) ))

### FIXED CODE ###

listA=[] #appendのために宣言が必要
while True:
    try:
        listA.append(input().split())
    except:
        break;
        
N = int(listA[0][0])
M = int(listA[0][1])

ans = [0] * N
pena = [0] * N

for i in range(1, M+1):
    num=int(listA[i][0]) -1
    res=listA[i][1]
    if res=="WA" and ans[num] == 0:
        pena[num] =  pena[num]+1
    if res=="AC" and ans[num] == 0:
        ans[num] = 1
        
print('%d %d' % (sum(ans), sum(x*y for x,y in zip(ans,pena)  ) ))
N = int(input())
B = [[] for _ in range(N)]
unchecked = [i for i in range(N)]
for i in range(1,N):
	t = int(input()) - 1
	B[t].append(i)
ans = [0]*N
for i in range(N):
	if not B[i]:
		unchecked.remove(i)
while 0 in unchecked:
	for i in unchecked:
			f = 0
			C = []
			for a in B[i]:
				if a in unchecked:
					f = 1
					break
				else:
					C.append(ans[a])
			if not f:
				C.sort()
				C.reverse()
				l = len(C)
				ans[i] = max([j+C[j]+1 for j in range(l)])
				unchecked.remove(i)
print(ans[0])

### FIXED CODE ###

N = int(input())
ans = 0
ab = []
for _ in range(N):
	ab.append([int(i) for i in input().split()])
ab.reverse()
for A,B in ab:
	ans = ans + (-A-ans) % B
print(ans)
k = int(input())
a, b = map(int, input().split())

if k < a:
  if k >= 2 and (b - a) >= k - 2:
    print("OK")
elif k == a or k == b:
  print("OK")
elif a < k  and k < b:
  print("OK")
print k == 1:
  print("OK")
else:
  print("NO")


### FIXED CODE ###

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

if b - a >= k - 1:
  print("OK")
elif  k == 1:
  print("OK")
elif b == k or a == k:
  print("OK")
elif b % k == 0 or a % k == 0:
  print("OK")
elif a < k and k < b:
  print("OK")
elif a != b and k == 2:
  print("OK")
elif b < k:
  print("NG")
elif a % k > b % k:
  print("OK")
else:
  print("NG")
A,B=map(int,input().split())

print(int(A*B))


### FIXED CODE ###

import math
import decimal




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


a=decimal.Decimal(A)
b=decimal.Decimal(B)

print(int(a*b))

'''
a=int(A)
b=float(B)*100
#print(int(B))

bb=int(b)

print(math.floor(a*bb//100))
'''
#!/usr/bin/env python3
import sys

YES = "Yes"  # type: str
NO = "No"  # type: str


def inRange(h: int, w: int, H: int, W: int):
    return h >= 0 and w >= 0 and h < H and w < W


def solve(H: int, W: int, s: "List[str]"):
    failed = False
    for h in range(H):
        for w in range(W):
            cur = s[h][w]
            if cur == "#":
                if inRange(h-1, w, H, W) and s[h-1][w] == "#":
                    continue
                if inRange(h+1, w, H, W) and s[h+1][w] == "#":
                    continue
                if inRange(h, w-1, H, W) and s[h][w-1] == "#":
                    continue
                if inRange(h, w+1, H, W) and s[h][w+1] == "#":
                    continue
                failed = True
                break
        if failed:
            break
    print("No") if failed else print("Yes")
    return


# Generated by 1.1.4 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    H = int(next(tokens))  # type: int
    W = int(next(tokens))  # type: int
    s = [next(tokens) for _ in range(W)]  # type: "List[str]"
    solve(H, W, s)


if __name__ == '__main__':
    main()


### FIXED CODE ###

#!/usr/bin/env python3
import sys

YES = "Yes"  # type: str
NO = "No"  # type: str


def inRange(h: int, w: int, H: int, W: int):
    return h >= 0 and w >= 0 and h < H and w < W


def solve(H: int, W: int, s: "List[str]"):
    failed = False
    for h in range(H):
        for w in range(W):
            cur = s[h][w]
            if cur == "#":
                if inRange(h-1, w, H, W) and s[h-1][w] == "#":
                    continue
                if inRange(h+1, w, H, W) and s[h+1][w] == "#":
                    continue
                if inRange(h, w-1, H, W) and s[h][w-1] == "#":
                    continue
                if inRange(h, w+1, H, W) and s[h][w+1] == "#":
                    continue
                failed = True
                break
        if failed:
            break
    print("No") if failed else print("Yes")
    return


# Generated by 1.1.4 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    H = int(next(tokens))  # type: int
    W = int(next(tokens))  # type: int
    s = [next(tokens) for _ in range(H)]  # type: "List[str]"
    solve(H, W, s)


if __name__ == '__main__':
    main()
count = 0
a, b, c = map(int, raw_input().split())
while 1:
    if c%a == 0:
    count += 1
    if a == b:
        break
    a += 1

### FIXED CODE ###

count = 0
a, b, c = map(int, raw_input().split())
while 1:
    if c%a == 0:
        count += 1
    if a == b:
        break
    a += 1
print count
S = [int(i) for i in input().split()]
N = S[0]
M = S[1]
X = S[2]
Y = S[3]
C = [int(i) for i in range(N)]
D = [int(i) for i in range(M)]

x = max(C)
y = min(D)

if x < y:
    A = 1
elif x >= y:
    A = 0

if X > x:
  if Y >= y > X:
    B = 1
if Y < y:
  if X < x < Y:
    B = 1
if X < (x + y) / 2 <= Y:
    B = 1

if A == 1 and B == 1:
    print('No War')
else:
    print('War')

### FIXED CODE ###

A = [int(i) for i in input().split()]

A.sort()
M = 10 * int(A[-1]) + int(A[0]) + int(A[1])
print(M)
N = int(input())
s = []
for i in range(0,N):
    a = input()
    s.append(sorted(a))
t = 0
while len(s)>0:
    a = s.count(s[0])
    if a==1:
        continue
    else:
        a = (a*(a-1))/2
        t = t+a
    s.remove(s[0])
print(t)

### FIXED CODE ###

num = input().split()
A = int(num[0])
B = int(num[1])
s = [A+B,A-B,A*B]
print(max(s))
sl = [i for i in -input().split()]
print(["Three", "Four"][len(set(sl)) == 4])

### FIXED CODE ###

n = int(input())
sl = [i for i in input().split()]
print(["Three", "Four"][len(set(sl)) == 4])
A = input().split()
a = int(A[0])
b = int(float(A[1]) * 100)
print((a*b)/100))


### FIXED CODE ###

A = input().split()
a = int(A[0])
b = int(A[1].replace(".", ""))
print(0 if str(a*b)[:-2] == '' else str(a*b)[:-2])
n,m = map(int,input().split())
a=map(int,input().split())
a=sorted(a)
if a[-m] >= sum(a)/4/m:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

n,m = map(int,input().split())
div = n//m
minval = div*m
maxval = (div+1)*m
print(min(abs(minval-n),abs(maxval-n)))
n = int(input())
items = [input() for _ in range(n)]

print(len(list(set(items)))

### FIXED CODE ###

n = int(input())
items = [input() for _ in range(n)]

print(len(list(set(items))))
n=int(input())
l=0;r=n-1
print(0);seat0=input()
if seat0="Vacant";exit()
while True:
  mid=(l+r)//2
  print(mid)
  seat=input()
  if seat=="Vacant":
    exit()
  if mid%2==0:
    if seat!=seat0:
      r=mid
    else:
      l=mid
  elif mid%2==1:
    if seat==seat0:
      l=mid
    else:
      r=mid
 


### FIXED CODE ###

x,y=map(int,input().split())
if x%y==0:
  print(-1)
else:
  flag=0
  for i in range(10**18//x):
    if (i*x)%y!=0:
      print(i*x)
      flag=1
      break
  if flag==0:
    print(-1)
#!/usr/bin/env python3
ans = [0] * 10
ans[1] = '1'
for i in range(2, 10):
    ans[i] = str(i)
alpha = "0123456789"
def dfs(s):
    if len(s) == N:
        ans.append(s)
        if len(ans) >= 100001:
            return
    else:
        for c in (int(s[-1])-1,int(s[-1])+2):
            if c >= 0:
                dfs(s+str(c))
            if c == '9':
                break
K = int(input())
N = 2
while len(ans) < 100001:
    for i in range(1, 10):
        dfs(str(i))
        if len(ans) >= 100001:
            break
    N+=1

print(ans[K])

### FIXED CODE ###

#!/usr/bin/env python3
ans = [0] * 10
ans[1] = '1'
for i in range(2, 10):
    ans[i] = str(i)
alpha = "0123456789"
def dfs(s):
    if len(s) == N:
        ans.append(s)
        if len(ans) >= 100001:
            return
    else:
        for c in range(int(s[-1])-1,int(s[-1])+2):
            if c >= 0:
                dfs(s+str(c))
            if c == 9:
                break
K = int(input())
N = 2
while len(ans) < 100001:
    for i in range(1, 10):
        dfs(str(i))
        if len(ans) >= 100001:
            break
    N+=1

print(ans[K])
a, b = map(int, input().split())

def gcd(a, b):
    while b:
        a, b = b, a % b
    return a
n = gcd(a, b)

for i in range(n):
    if a % (i+2) == 0 and b % (i +2) == 0:
        l.append(i+2)
    
primes = [2]
for x in l:
    if all(x % prime !=0 for prime in primes):
        primes.append(x)

if  a % 2 == 0 or b % 2 == 0:
    ans = len(primes) +1
else:
    ans = len(primes)
print(ans)

### FIXED CODE ###

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

def gcd(a, b):
    while b > 0:
        a, b = b, a%b
    return a
n = gcd(a, b)

def prime_factorize(n):
    a = []
    while n % 2 == 0:
        a.append(2)
        n //= 2
    f = 3
    while f * f <= n:
        if n % f == 0:
            a.append(f)
            n //= f
        else:
            f += 2
    if n != 1:
        a.append(n)
    return a

ans = set(prime_factorize(n))
print(len(ans)+1)