Harryxun/stf_run huggingface dataset:
H, W = mat(int, input().split())
h, w = mat(int, input().split())
print((H-h)*(W-w))


### FIXED CODE ###

H, W = map(int, input().split())
h, w = map(int, input().split())
print((H-h)*(W-w))
s = input()
sb = s[:len(s)//2]
if len(s) % 2 == 1:
    sa = s[len(s)//2+1:]
else:
    sa = s[len(s)//2:]
sa = [::-1]
cnt = 0
for b in sb:
    for a in sa:
        if b != a:
            cnt += 1
        break
print(cnt)

### FIXED CODE ###

import sys

s = input()
if len(s) == 1:
    print(0)
    sys.exit(0)

sb = s[:len(s)//2]
if len(s) % 2 == 1:
    sa = s[len(s)//2+1:]
else:
    sa = s[len(s)//2:]
sa = sa[::-1]

cnt = 0
for i,b in enumerate(sb):
    if b != sa[i]:
        cnt += 1
print(cnt)
N, K = map(int, input().split())
H = [0] + list(map(int, input().split()))
dp = [[10 ** 100] * (N-K+1) for _ in range(N+1)]
dp[0][0] = 0
for x in range(1, N+1):
    for y in range(1, min(x+1, N-K+1)):
        dp[x][y] = min(dp[i][y-1] + max(0, H[x] - H[i]) for i in range(x))
print(min(dp[i][N-L] for i in range(1, N+1)))

### FIXED CODE ###

N, K = map(int, input().split())
H = [0] + [int(a) for a in input().split()]
X = [[1<<100] * (N-K+1) for _ in range(N+1)]
X[0][0] = 0
for i in range(1, N+1):
    for j in range(1, min(i+1, N-K+1)):
        X[i][j] = min([X[ii][j-1] + max(H[i] - H[ii], 0) for ii in range(i)])

print(min([x[-1] for x in X]))
def cin():  return list(map(int,input().split()))

N, K = cin()
A = cin()

cnt1 = 0
l = len(A)
for i in range(l):
    for j in range(i + 1, l):
        cnt1 += (A[i] > A[j])
        
AA = A + A
l = len(AA)
cnt2 = 0
for i in range(l):
    for j in range(i + 1, l):
        cnt2 += (AA[i] > AA[j])

ans = K * cnt1 + (cnt2 - 2 * cnt1) * K * (K - 1) // 2
print(ans % INF)

### FIXED CODE ###

def cin():  return list(map(int,input().split()))

N, K = cin()
A = cin()
INF = 10 ** 9 + 7

cnt1 = 0
l = len(A)
for i in range(l):
    for j in range(i + 1, l):
        cnt1 += (A[i] > A[j])
        
AA = A + A
l = len(AA)
cnt2 = 0
for i in range(l):
    for j in range(i + 1, l):
        cnt2 += (AA[i] > AA[j])

ans = K * cnt1 + (cnt2 - 2 * cnt1) * K * (K - 1) // 2
print(ans % INF)
N = int(input())
A = list(map(int, input().split()))

d = {}

for i in range(N - 1):
    if A[i] in d:
        d[A[i]].append(i + 2)
    else:
        d[A[i]] = [i + 2]

for i in range(1, N + 1):
    if i in d:
        print(len(d[i]))
    else:
        print(0)

### FIXED CODE ###

num = int(input())
print(3.14 * 2 * num)
li=list(input())
n=1
c=len(li)+n

while n<=c:
  
  li=li.pop(n)
  n=n+1

print(a)

### FIXED CODE ###

import math
s=input()
li=[]

l=len(s)+1

for i in range(0,math.floor(l/2)):
    li.append(s[2*i])

str=''.join(li)
print(str)
n = int(input())
a = sorted(list(map(int,input().split())))

if n == 1:
    print(1)
    exit()

b = [True]*n
fix = [False]*n
for i in range(n):
    if not b[i] or fix[i]:
        continue
    if i < n and a[i] == a[i+1]:
        b[i] = False
        fix[i] = True
    for j in range(i+1, n):
        if a[i] < a[j] < a[i]*2:
            fix[j] = True
            continue
        if a[j] % a[i] == 0:
            fix[j] = True
            b[j] = False

print(sum(b))

### FIXED CODE ###

n = int(input())
a = sorted(list(map(int,input().split())))
m = a[-1]
b = [True]*(m+1)
for i in range(n):
    if i > 0 and a[i] == a[i-1]:
        continue
    for j in range(2, m//a[i]+1):
        b[j*a[i]] = False
ans = 0
for i in range(n):
    if 0 < i and a[i] == a[i-1]:
        continue
    if i < n-1 and a[i] == a[i+1]:
        continue
    if b[a[i]]:
        ans += 1
print(ans)
def main():
  from collections import deque
  s=deque(input())
  q=int(input())
  count=0
  for _ in [0]*q:
    a=list(input().split())
    if len(a)==1:
      count+=1
    else:
      if count%2==0:
        if a[1]=='1':
           s.appendleft(a[2])
        else:
          s.append(a[2])
      else:
        if a[1]=='1':
          s.append(a[2])
        else:
          l=(a[2],s)
          s.appendleft(a[2])
  if count%2==1:
    s=s[::-1]
  print(''.join(s))
if __name__=='__main__':
  main()

### FIXED CODE ###

def main():
  from collections import deque
  s=deque(input())
  q=int(input())
  count=0
  for _ in [0]*q:
    a=list(input().split())
    if len(a)==1:
      count+=1
    else:
      if count%2==0:
        if a[1]=='1':
           s.appendleft(a[2])
        else:
          s.append(a[2])
      else:
        if a[1]=='1':
          s.append(a[2])
        else:
          l=(a[2],s)
          s.appendleft(a[2])
  if count%2==1:
    s=list(s)[::-1]
  print(''.join(s))
if __name__=='__main__':
  main()
N, M = map(int, input().split())
X = list(map(int, input().split()))

X.sort()

x = X[:]
p = x.pop(0)
a = []
for b in x:
    a.append(b - p)
    p = b

if a:
    for _ in range(N-1):
        a.pop(a.index(max(a)))
    print(sum(a))
else:
    print(0)


### FIXED CODE ###

N, M = map(int, input().split())
X = list(map(int, input().split()))

X.sort()

x = X[:]
p = x.pop(0)
a = []
for b in x:
    a.append(b - p)
    p = b

if a:
    a.sort(reverse=True)
    print(sum(a[N-1:]))
else:
    print(0)
n,d = map(int,input().split())
ans = 0
dis = 2*d +1

if (n % d) == 0:
	ans = int(n / dis)
else:
	ans = int()(n // dis)+1)

print(ans)


### FIXED CODE ###


n,d = map(int,input().split())
ans = 0
dis = 2*d +1

if (n % dis) == 0:
	ans = int(n / dis)
else:
	ans = int((n // dis)+1)

print(ans)
#!/usr/bin/env python3
import sys, math, itertools, collections, bisect, heapq
input = lambda: sys.stdin.buffer.readline().rstrip().decode('utf-8')
inf = float('inf') ;mod = 10**9+7
mans = inf ;ans = 0 ;count = 0 ;pro = 1

n,q=map(int,input().split())
STX=[tuple(map(int,input().split())) for i in range(n)]
D=[int(input()) for i in range(q)]
event=[]
for si,ti,xi in STX:
  event.append((si-xi,0,xi))
  event.append((ti-xi,-1,xi))
for di in D:
  event.append((di,1,di))
event.sort()
hq=[]; S=set()
for time, query, number in event:
  if query == 0:
    heapq.heappush(hq,number)
    S.add(number)
  elif query == -1:
    # print(S,number)
    S.remove(number)
  else:
    if hq == []:
      print(-1); continue
    while hq[0] not in S:
      heapq.heappop(hq)
    print(heapq.heappop(hq))
 
  



### FIXED CODE ###

#!/usr/bin/env python3
import sys, math, itertools, collections, bisect, heapq
input = lambda: sys.stdin.buffer.readline().rstrip().decode('utf-8')
inf = float('inf') ;mod = 10**9+7
mans = inf ;ans = 0 ;count = 0 ;pro = 1

n,q=map(int,input().split())
STX=[tuple(map(int,input().split())) for i in range(n)]
D=[int(input()) for i in range(q)]
event=[]
for si,ti,xi in STX:
  event.append((si-xi,0,xi))
  event.append((ti-xi,-1,xi))
for di in D:
  event.append((di,1,di))
event.sort()
hq=[]; S=set()
for time, query, number in event:
  if query == 0:
    heapq.heappush(hq,number)
    S.add(number)
  elif query == -1:
    S.remove(number)
  else:
    while hq and hq[0] not in S:
      heapq.heappop(hq)
    if not hq:
      print(-1)
    else:
      print(hq[0])
from collections import deque

n, m = map(int, input().split())
AB = [[int(x) for x in input().split()] for _ in range(m)]

# representation matrix
repn = [[] for j in range(n + 1)]
for a, b in AB:
    repn[a].append(b)
    repn[b].append(a)


# Minimum Spanning Tree
tree = [set() for i in range(n + 1)]
visited = [False] * (n + 1)
visited[1] = True
q = deque([1])

while q:
    u = q.popleft()
    for v in repn[u]:
        if visited[v]:
            continue
        visited[v] = True
        tree[u].add(v)
        tree[v].add(u)
        q.append(v)


# define directions of the edges other than that of MST
degree = [0] * (n + 1)
ans = []

for a, b in AB:
    if b in tree[a]:
        continue
    ans.append('{} {}'.format(a, b))
    degree[a] += 1


# defining orientations
def dfs(u = 1, parent = None):
    for v in tree[u]:
        if v == parent:
            continue
        dfs(v, u)
        if degree[v] % 2 == 0:
            ans.append('{} {}'.format(u, v))
            degree[u] += 1
        else:
            ans.append('{} {}'.format(v, u))
            degree[v] += 1

dfs()


# output answer
if degree[1] % 2 == 1:
    print(-1)
else:
    print('\n'.join(ans))

### FIXED CODE ###

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**6)
from collections import deque

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

if m % 2 == 1:
    print(-1)
    exit()



AB = [[int(x) for x in input().split()] for _ in range(m)]

# representation matrix
repn = [[] for j in range(n + 1)]
for a, b in AB:
    repn[a].append(b)
    repn[b].append(a)


# Minimum Spanning Tree
tree = [set() for i in range(n + 1)]
visited = [False] * (n + 1)
visited[1] = True
q = deque([1])

while q:
    u = q.popleft()
    for v in repn[u]:
        if visited[v]:
            continue
        visited[v] = True
        tree[u].add(v)
        tree[v].add(u)
        q.append(v)


# define directions of the edges other than that of MST
degree = [0] * (n + 1)
ans = []

for a, b in AB:
    if b in tree[a]:
        continue
    ans.append('{} {}'.format(a, b))
    degree[a] += 1


# defining orientations
def dfs(u = 1, parent = None):
    for v in tree[u]:
        if v == parent:
            continue
        dfs(v, u)
        if degree[v] % 2 == 0:
            ans.append('{} {}'.format(u, v))
            degree[u] += 1
        else:
            ans.append('{} {}'.format(v, u))
            degree[v] += 1

dfs()

print('\n'.join(ans))
N,K,M=map(int,input().split())
l = input().split()
L = [int(i) for i in l]

Lsum=sum(L)

if M*N-Lsum>K:
    print(-1)
elif M*N-Lsum<0:
    print(0)
else:
    print(M*N-Lsum)


### FIXED CODE ###

print(chr(ord(input())+1))
S = 3*(r**2)

### FIXED CODE ###

r = int(input())
print(3*(r**2))
array = [int(input()) for i in range(5)]
array_sub = [i % 10 for i in array]
new_lst = [i for i in array_sub if i != 0]
minimum = min(new_lst)
sum = 0
for i in array:
  if (i % 10 == 0):
    sum += i
  else:
    if (i % 10 == minimum):
      sum += i
    else:
      sum += (i + (10 - (i % 10)))
print(sum)

### FIXED CODE ###

array1 = [int(input()) for i in range(5)]
array2 = [i for i in array1 if i % 10 == 0]
array3 = [i for i in array1 if i % 10 != 0]
array4 = [i % 10 for i in array3]
sum1 = 0
sum2 = sum(array2)
if (len(array3) != 0):
  idx = array4.index(min(array4))
  for k, i in enumerate(array3):
    if (k == idx):
      sum1 += i
    else:
      sum1 += i + (10 - i % 10)
print(sum1 + sum2)
a, b, c = [int(x) for x in input().split()]

if 2 * math.sqrt(a * b) < (c - a- b):
        print('Yes')
else:
    print('No')

### FIXED CODE ###

from decimal import Decimal

a, b, c = [Decimal(x) for x in input().split()]

# math.sqrt(x: SupportsFloat) -> float
# param x: SupportsFloat

# sqrt(context: Optional[Context]=...) -> Decimal

if a.sqrt() + b.sqrt() < c.sqrt():
    print('Yes')
else:
    print('No')
N = int(input())
H = list(map(int,input().split()))
i = 0

while True:
    
    if H[i]<H[i+1]:
        H[i+1] -= 1
  
    if H[i]>H[i+1]:
        answer = 'No'
        break
    
    i += 1
    if i == N-1:
        answer = 'Yes'
        break
print(answer)

### FIXED CODE ###

N = int(input())
H = list(map(int,input().split()))
i = 0
H[0] -= 1

while True:
    if N == 1:
        answer = 'Yes'
        break
    if H[i]<H[i+1]:
        H[i+1] -= 1
    if H[i]>H[i+1]:
        answer = 'No'
        break
    i += 1
    if i == N-1:
        answer = 'Yes'
        break
print(answer)
from __future__ import division, print_function
from sys import stdin

i = 1
for line in stdin:
    x = int(line)
    if line != 0:
       print "Case %d: %d" % (i, x)
    else:
       break
    i += 1

### FIXED CODE ###

from __future__ import division, print_function
from sys import stdin

i = 1
for line in stdin:
    x = int(line)
    if x == 0:
       break
    print ("Case %d: %d" % (i, x))
    i += 1
from bisect import bisect_left

n, k = map(int, input().split())
x = list(map(int, input().split()))
pos = bisect_left(x, 0)
#print(bisect_left(x, 0))

if x[0] >= 0:
	print(x[k - 1])
elif x[-1] <= 0:
	print(-x[-k - 1])
else:
	ans = float("inf")
	if pos + k <= n:
		ans = x[pos + k - 1]
	if x[pos] == 0:
		if pos - k + 1 >= 0:
			ans = min(ans, -x[pos - k + 1])
	else:
		if pos - k >= 0:
			ans = min(ans, -x[pos - k])
	for i in range(max(0, k - pos - 1), min(k - 1, n - pos)):
		#print(i)
		right = x[pos + i]
		left = -x[pos - (k - i - 1)]
		#print(right, left)
		ans = min(ans, 2 * right + left, 2 * left + right)

	print(ans)


### FIXED CODE ###

from bisect import bisect_left

n, k = map(int, input().split())
x = list(map(int, input().split()))
pos = bisect_left(x, 0)
#print(bisect_left(x, 0))


if n == 1:
	print(abs(x[0]))
elif x[0] >= 0:
	print(x[k - 1])
elif x[-1] <= 0:
	print(-x[-k])
else:
	ans = float("inf")
	if pos + k <= n:
		ans = x[pos + k - 1]
	if x[pos] == 0:
		if pos - k + 1 >= 0:
			ans = min(ans, -x[pos - k + 1])
	else:
		if pos - k >= 0:
			ans = min(ans, -x[pos - k])
	for i in range(max(0, k - pos - 1), min(k - 1, n - pos)):
		#print(i)
		right = x[pos + i]
		left = -x[pos - (k - i - 1)]
		#print(right, left)
		ans = min(ans, 2 * right + left, 2 * left + right)

	print(ans)
import math

n=int(input())
t=[]
for i in range(n):
    t.append(int(input()))

if n == 1:
    ans=1
else:
    ans=math.gcd(t[0],t[1])

if n > 2:
    for j in range(2,n):
        ans=math.gcd(ans,t[j])

seki=1
for i in t:
    seki=seki*i
    
print(int(seki/ans))

### FIXED CODE ###

import fractions
from functools import reduce
def lcm_base(x, y):
    return (x * y) // fractions.gcd(x, y)
def lcm_list(numbers):
    return reduce(lcm_base, numbers, 1)
 
n=int(input())
t=[int(input()) for i in range(n)] 
 
print(lcm_list(t))
n,a,b = map(input().split())
ans = 0
if n * a > b:
  ans += b
else:
  ans += n * a
print(ans)

### FIXED CODE ###

n,a,b = map(int,input().split())
ans = 0
if n * a > b:
  ans = b
else:
  ans = n * a
print(ans)
re = 0
    if A % 3 == 0:    
        re = 1
    if B % 3 == 0:
        re = 1
    if (A+B) % 3 == 0:
        re = 1
        
 if re ==1:
    print("Possible")
else:
    print("Impossible")

### FIXED CODE ###

Imp = list(map(int, input().split()))
A = Imp[0]
B = Imp[1]
re = 0
if A % 3 == 0:    
    re = 1
if B % 3 == 0:
    re = 1
if (A+B) % 3 == 0:
        re = 1
        
if re ==1:
    print("Possible")
else:
    print("Impossible")
x,y = map(int(raw_input().split(),16))
if x>y :
	print ">"
elif x<y :
	print "<"
else :
	print "="

### FIXED CODE ###

x,y = map(str,raw_input().split())
x = int(x,16)
y = int(y,16)
if x>y:
	print ">"
elif x<y:
	print "<"
else:
	print "="
N, M = map(int, input().split())
list = list(map(int, input().split()))
 
m=0
for i in range (0, len(list)):
	m=m+list[i]
 
if N-m>=0:
print(N-m)
elif N-m<0:
print(-1)

### FIXED CODE ###

N, M = map(int, input().split())
list = list(map(int, input().split()))
 
m=0
for i in range (0, len(list)):
	m=m+list[i]
if N-m>=0:
	print(N-m)
elif N-m<0:
	print(-1)
import numpy as np
N, K, Q = map(int, input().split())
p = np.array([K] * N)
m = np.array([1] * N)
for i in range(Q):
  A = int(input())
  #p = [p[i] - m[i] for i in range(len(p))]
  p = p - m
  p[A-1] = p[A-1] + 1
  if sum(p) == 0:
    break
for s in p:
  if s > 0:
    print('Yes')
  else:
    print('No')

### FIXED CODE ###

import numpy as np
N, K, Q = map(int, input().split())
p = np.array([K - Q] * N)
for i in range(Q):
  A = int(input())
  p[A-1] = p[A-1] + 1
for s in p:
  if s > 0:
    print('Yes')
  else:
    print('No')
N = int(input())
min_num = 10**5
for i in range(1, N+1):
  if N % i == 0:
    min_num = min(max(len(i), len(N//i)), min_num)
print(min_num)

### FIXED CODE ###

N = int(input())
min_num = 10**5
for i in range(1, 10**5+1):
    if N % i == 0:
        min_num = min(max(len(str(i)), len(str(N//i))), min_num)
print(min_num)
#2問目
A, V = map(int, input().split())
B, W = map(int, input().split())
T = int(input())
idouA = 0
idouB = 0

#逃げる方が大きかったら確実に捕まえられない
if W >= V:
    print("NO")
else:
    idouA = V * T
    idouB = W * T
    if A < B:
        if A < 0 and B < 0:
            kankaku = abs(A) - abs(B)
        elif A > 0 and B > 0:
            kankaku = abs(B) - abs(A)
    elif B < A:
        if A < 0 and B < 0:
            kankaku = abs(B) - abs(A)
        elif A > 0 and B > 0:
            kankaku = abs(A) - abs(B)
            
    if(idouB + kankaku <= idouA):
        print("YES")
    else:
        print("NO")

### FIXED CODE ###

#2問目
A, V = map(int, input().split())
B, W = map(int, input().split())
T = int(input())
idouA = 0
idouB = 0
kankaku = 0

#逃げる方が大きかったら確実に捕まえられない
if W >= V:
    print("NO")
else:
    idouA = V * T
    idouB = W * T
    if A < B:
        if A < 0 and B < 0:
            kankaku = abs(A) - abs(B)
        elif A >= 0 and B >= 0:
            kankaku = abs(B) - abs(A)
        elif A <= 0 and B >= 0:
            kankaku = B - A
    elif B < A:
        if A < 0 and B < 0:
            kankaku = abs(B) - abs(A)
        elif A >= 0 and B >= 0:
            kankaku = abs(A) - abs(B)
        elif A >= 0 and B <= 0:
            kankaku = A - B
            
    if(idouB + kankaku <= idouA):
        print("YES")
    else:
        print("NO")
S = input()
amari = [0]*2019
ans = 0
for i in range(len(S)):
    amari[int(S[len(S)-1-i:]) % 2019] += 1
for i in amari:
    if i >= 2:
        ans += i(i-1)/2
print(ans)
    

### FIXED CODE ###

S = input()
amari = [0]*2019
ans = 0
amari[0] = 1
A = 0
for i in range(len(S)):
    A += pow(10, i, 2019)*(int(S[len(S)-1-i]))
    amari[A % 2019] += 1
for i in amari:
    if i >= 2:
        ans += i*(i-1)/2
print(int(ans))
n,m=map(int,input().split())
mod=10**9+7
N=10**5+1+20
p=[1]*N #assume all are primes from start 
for i in range(2,N):
    if p[i]==1:
        for j in range(2*i,N,i):
            p[j]=0
primes=[]
for i in range(2,N):
    if p[i]==1:
        primes.append(i)

#print(primes)
fact=[1]*N
for i in range(2,N):
    fact[i]=(i*fact[i-1])%mod
ifact=[0]*N
ifact[N-1]=pow(fact[N-1],mod-2,mod)
for i in range(N-2,0,-1):
    ifact[i]=((i+1)*ifact[i+1])%mod
ans=1
for x in primes:
    if x>m:
        break
    cnt=0
    #print(m,end=' before\n')
    while m%x==0:
        m//=x
        cnt+=1
    if cnt==0:
        continue
    #print(x,cnt)
    #print(m,end=' after\n')
    
    val=(fact[n-1+cnt]*(ifact[cnt]*ifact[n-1])%mod)%mod
    ans=(ans*val)%mod
if m>1:
    ans=(ans*n)%mod
print(ans)


### FIXED CODE ###

n,m=map(int,input().split())
mod=10**9+7
N=10**5+1+34
p=[1]*N #assume all are primes from start 
for i in range(2,N):
    if p[i]==1:
        for j in range(2*i,N,i):
            p[j]=0
primes=[]
for i in range(2,N):
    if p[i]==1:
        primes.append(i)

#print(primes)
fact=[1]*N
for i in range(2,N):
    fact[i]=(i*fact[i-1])%mod
ifact=[1]*N
ifact[N-1]=pow(fact[N-1],mod-2,mod)
for i in range(N-2,0,-1):
    ifact[i]=((i+1)*ifact[i+1])%mod
ans=1
#print(ifact[:10])
for x in primes:
    if x>m:
        break
    cnt=0
    #print(m,end=' before\n')
    while m%x==0:
        m//=x
        cnt+=1
    if cnt==0:
        continue
#    print(x,cnt)
    #print(m,end=' after\n')
 #   print(fact[n-1+cnt],ifact[cnt],ifact[n-1])
    val=(fact[n-1+cnt]*(ifact[cnt]*ifact[n-1])%mod)%mod
  #  print(val)
    ans=(ans*val)%mod
if m>1:
    ans=(ans*n)%mod
print(ans)
a,b=map(int,input().split())
print(max(a+a-1,a+b,b+b-1)

### FIXED CODE ###

a,b=map(int,input().split())
print(max(a+a-1,a+b,b+b-1))
n=input()
l=map(int,input().split())
li=sorted(l)
for i in range(n):
    for j in range(i,n+1):
        for k in range(j,n+1):
            if li[i]!=li[j]!=li[k] and li[i]+li[j]>li[k]:
                ans+=1
print(ans)

### FIXED CODE ###

n=int(input())
ans=0
l=map(int,input().split())
li=sorted(l)
for i in range(n):
    for j in range(i+1,n):
        for k in range(j+1,n):
            if li[i]!=li[j]!=li[k] and li[i]+li[j]>li[k]:
                ans+=1
print(ans)
a, b, c = map(int, input())
kotae = c - (a - b)
if kotae > 0:
  print(kotae)
else:
  print(0)

### FIXED CODE ###

a, b, c = map(int, input().split())
kotae = c - (a - b)
if kotae > 0:
  print(kotae)
else:
  print(0)
n = int(input())
a = int(input())
coin = n%500
if a >= coin:
  print("Yes")
else:
  priont("No")

### FIXED CODE ###

n = int(input())
a = int(input())
coin = n%500
if a >= coin:
  print("Yes")
else:
  print("No")
N = int(input())
ans = 0
for i in range(1, len(str(N)), 2):
    ans += 10**i - 10**(i-1)
ans += (int(str(N)[1:]) + 1) * (1 if len(str(N)) % 2 == 1 else 0)
print(ans)

### FIXED CODE ###

N = int(input())
ans = 0
n_digit = len(str(N))
for i in range(1, n_digit, 2):
    ans += 10**i - 10**(i-1)
if n_digit % 2 == 1: ans += N - 10**(n_digit - 1) + 1
print(ans)
h = S / 3600                                                                                           
m = (S - h*3600) / 60                                                                                                                                                               
s = S - (h * 3600 + m * 60)                                                                            
print "%d:%d:%d" % (h, m, s) 

### FIXED CODE ###

time = raw_input()
time = int(time)
h = time / 3600
m = (time - h * 3600) / 60
s = time - (h * 3600 + m * 60)
print "%d:%d:%d" % (h, m, s)
def power(a, n, mod):
  bi=str(format(n,"b")) #2進数
  res=1
  for i in range(len(bi)):
    res=(res*res) %mod
    if bi[i]=="1":
      res=(res*a) %mod
  return res

n, m, p = map(int, input().split())
print(power(n, p, m))

### FIXED CODE ###

n = int(input())
s = str(input())
A = [0]
cum = 0
ans = ''
for i in range(n):
    if s[i] == '(':
        cum += 1
    else:
        cum -= 1
    if cum == -1:
        ans = '('+ans
        ans += s[i]
        cum = 0
    else:
        ans += s[i]
else:
    if cum > 0:
        ans += ')'*cum
print(ans)
answer='No'
for i in str(N):
  if i=='7':
    answer='Yes'
return answer

### FIXED CODE ###

n=input()

if '7' in str(n):
  print('Yes')
else:
  print('No')
n=int(input())
a=list(map(int.input().split()))
c=0
for i in range(n):
    if a[i]%2!=0:
        c+=1
if c%2==0:
    print('YES')
else:
    print('NO')

### FIXED CODE ###

n=int(input())
a=list(map(int,input().split()))
c=0
for i in range(n):
    if a[i]%2!=0:
        c+=1
if c%2==0:
    print('YES')
else:
    print('NO')
N=int(input())
A=""
for i in range(0,10):
    i=i+1
    A=int(i+"000")
    if N<=A:
        print(A-N)
        break


### FIXED CODE ###

N=int(input())
A=0
for i in range(0,N):
    i=i+1
    A=str(i)+"000"
    A=int(A)
    if N<=A:
        print(A-N)
        break
s = input()
t = input()
if t in s:
  print(0)
else:
  ans = 1000
  for i in range(len(t)):
    for j in range(len(s)):
      if t[i] == s[j]:
        if len(t) - i >= len(s) - j and i <= j:
        	k = i
        	l = j
            cnt1 = 0
            while k < len(t):
            	if t[k] != s[l]:
                  cnt1 += 1
                k += 1
                l += 1
            k = i
        	l = j
            cnt2 = 0
            while k >= 0:
            	if t[k] != s[l]:
                  cnt2 += 1
                k -= 1
                l -= 1
            ans = min(ans, cnt1 + cnt2)    
        else:
          break
print(ans)          

### FIXED CODE ###

s = input()
t = input()
if t in s:
    print(0)
else:
    ans = len(t)
    for i in range(len(s) - len(t) + 1):
        cnt = 0
        k = i
        l = 0
        while l < len(t) and k < len(s):
            if s[k] != t[l]:
                cnt += 1 
            k += 1
            l += 1    
        ans = min(ans, cnt)
    print(ans)
A, B, C = [input() for _ in range(3)]
ca = 1
cb = 0
cc = 0
current = A[0]
while True:
    if current == 'a':
        ca += 1
        if ca == len(A):
            print('A')
            break    
        else:
            current =  A[ca]
    elif current == 'b':
        cb += 1
        if cb == len(B):
            print('B')
            break    
        else:
            current =  B[cb]
    elif current == 'c':
        cc += 1
        if cc == len(C):
            print('C')
            break    
        else:
            current =  C[cc]



### FIXED CODE ###

A, B, C = [list(input()) for _ in range(3)]
x = 'a'
while True:
    if x == 'a':
        if len(A) == 0:
            print('A')
            exit()
        x = A[0]
        A.remove(x)
    elif x == 'b':
        if len(B) == 0:
            print('B')
            exit()
        x = B[0]
        B.remove(x)   
    elif x == 'c':
        if len(C) == 0:
            print('C')
            exit()
        x = C[0]
        C.remove(x)