Harryxun/stf_run huggingface dataset:
magro = 0

saba = []
saba=map(int,raw_input().split(‘ ‘))
#print(“ika”)
ika=map(int,raw_input().split(‘ ‘))
print(max(sum(saba), sum(ika)))
neko = 0
hage = 90

### FIXED CODE ###

magro = 0

saba = []
saba=map(int,raw_input().split(' '))
#print("ika")
ika=map(int,raw_input().split(' '))
print(max(sum(saba), sum(ika)))
neko = 0
hage = 90
n, q = map(int, input().split())
S = input()
partS = []
for _ in range(q):
    l, r = map(int, input().split())
    partS .append(S[l - 1:r])
for i in range(q):
    print(partS[i].count("AC"))


### FIXED CODE ###

n, q = map(int, input().split())
s = input()
count = [0]*n
for i in range(1, n):
    count[i] = count[i-1]
    if s[i - 1: i + 1] == "AC":
        count[i] += 1

for i in range(q):
    l, r = map(int, input().split())
    print(count[r-1]-count[l-1])
N=input()
while N!=0:
  if N%10==7:
    print("Yes")
    return
  N=N//10
print("No")
return

### FIXED CODE ###

def main():
  N=int(input())
  while N!=0:
    if N%10==7:
      print("Yes")
      return
    N=N//10
  print("No")
  return
main()
W,H,x,y,r = [int() for i in input().split()]

if (r > x) or (r > w-x) or (r > y) or (r > H-y):
    print('Yes')
else:
    print('No')

### FIXED CODE ###

W,H,x,y,r=[int(x) for x in input().split()]
if r<=x<=(W-r) and r<=y<=(H-r):
    print('Yes')
else:
    print('No')
n = int(input())
     
    cnt = 0
    for i in range(1, n+1):
        str_n = str(i)
        if len(str_n) % 2 != 0:
            cnt += 1
            
    print(cnt)

### FIXED CODE ###

n = int(input())
     
cnt = 0
for i in range(1, n+1):
    str_n = str(i)
    if len(str_n) % 2 != 0:
        cnt += 1
            
print(cnt)
x=raw_input().split()

for i in range(len(x))
print x[::-1],

### FIXED CODE ###

n = int(raw_input())
a = map(int,raw_input().split())
a.reverse()
for i in a:
    print i,
A,B = input().split()
print(A*B)

### FIXED CODE ###

A,B = input().split()
print(int(A)*int(B))
K=int(input())
list=[1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(list[K])

### FIXED CODE ###

K=int(input())
list=[1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51]
print(list[K-1])
a=ord(input());print('YNeos'[a[0]^a[1]^a[2]==96])

### FIXED CODE ###

print("YNeos"[len(set(input()))<3::2])
n,m=map(int,input().split())
st=[]
ch=[]
def mht(a,b):
  try:
    return abs(a[0]-b[0])+abs(a[1]-b[1])
  except:
    return 0
for i in range(n):
  st.append(list(map(int,input().split())))
for i in range(m):
  ch.append(list(map(int,input().split())))
  
for i in st:
  mn=100000000
  for (j,k) in zip(ch,range(m)):
    mh=mht(i,j)
    if mh<mn:
      mn=mh
      nm=k+1
  print(nm)


### FIXED CODE ###

n,m=map(int,input().split())
st=[]
ch=[]
def mht(ax,ay,bx,by):
  return abs(ax-bx)+abs(ay-by)

for i in range(n):
  st.append(list(map(int,input().split())))
for i in range(m):
  ch.append(list(map(int,input().split())))
  
for i in st:
  ax=i[0]
  ay=i[1]
  mn=1000000000
  for (j,k) in zip(ch,range(len(ch))):
    bx=j[0]
    by=j[1]
    mh=mht(ax,ay,bx,by)
    if mh<mn:
      mn=mh
      nm=k
  print(nm+1)
n=int(input())
l=[]
ans=0
for i in range(2):
l.append(list(map(int,input().split())))
for i in range(n):
  c=sum(l[0][:i+1])+sum(l[1][i:])
  if c>ans:ans=c
print(ans)

### FIXED CODE ###

n=int(input())
l=[]
ans=0
for i in range(2):
  l.append(list(map(int,input().split())))
for i in range(n):
  c=sum(l[0][:i+1])+sum(l[1][i:])
  if c>ans:ans=c
print(ans)
x,k,d = list(map(int,input().split()))

if x>= 0:
  if x > d*k:
    m = x - d*k
  else:
    for i in range(k):
      x -= d
      if x <=0:
        if (i+k) % 2 != 0:
          m = (-1)*x
        else:
          m = x+d
        break

else:
  if x > (-1)*d*k:
    m = x + d*k
  else:
    for i in range(k):
      x += d
      if x >=0:
        if (i+k) % 2 != 0:
          m = x
        else:
          m = (-1)*(x-d)
        break
print(m)

### FIXED CODE ###

from math import ceil 
x,k,d = list(map(int,input().split()))

xi = abs(x)
if abs(x) > d*k:
  m = min(abs(x+d*k),abs(x-d*k))
else:
  n = ceil(xi / d)
  if (n+k) % 2 == 0:
    m = abs(xi-d*n)
  else:
    m = abs(xi-d*(n-1))
print(m)
print("ACL"*K=int(input()))

### FIXED CODE ###

print("ACL"*int(input()))
import sys
input=sys.stdin.readline

N,M=(int(x) for x in input().rstrip('\n').split())
Hs = [int(x) for x in input().rstrip('\n').split()]
nums = [1 for x in Hs]
for i in range(M):
  roads = [int(x) for x in input().rstrip('\n').split()]
  if Hs[roads[0]-1] < Hs[roads[1]-1]:
    nums[roads[0]-1] = 0
  elif Hs[roads[0]-1] > Hs[roads[1]-1]:
    nums[roads[1]-1] = 0
  else:
    nums[roads[0]-1] = 0
    nums[roads[1]-1] = 0
print(sum(nums))

### FIXED CODE ###

import sys
input=sys.stdin.readline

N,M=(int(x) for x in input().rstrip('\n').split())
Hs = [int(x) for x in input().rstrip('\n').split()]
nums = [1 for x in Hs]
for i in range(M):
  roads = [int(x) for x in input().rstrip('\n').split()]
  if Hs[roads[0]-1] < Hs[roads[1]-1]:
    nums[roads[0]-1] = 0
  elif Hs[roads[0]-1] > Hs[roads[1]-1]:
    nums[roads[1]-1] = 0
  else:
    nums[roads[0]-1] = 0
    nums[roads[1]-1] = 0
print(sum(nums))
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append(cnt)

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr

m = int(input())
a = factorization(m)
ans = 0
for i in a:
    j = 1
    while j *(j+1) //2 <= i:
        j += 1
    ans += j-1
print(ans)


### FIXED CODE ###

def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            cnt=0
            while temp%i==0:
                cnt+=1
                temp //= i
            arr.append([i, cnt])

    if temp!=1:
        arr.append([temp, 1])

    if arr==[]:
        arr.append([n, 1])

    return arr

m = int(input())
if m == 1:
  print(0)
  exit()
a = factorization(m)
b = []
ans = 0
for i in a:
    j = 1
    while j *(j+1) //2 <= i[1]:
        j += 1
    ans += j-1
print(ans)
from itertools import accumulate
n,k = map(int,input().split())
p = list(map(int,input().split()))

P = []+p
P = list(accumulate(P))

ans = []
for i in range(n-k):
    ans.append(P[i+k]-P[i])

print((max(ans)+k)/2)

### FIXED CODE ###

from itertools import accumulate
n,k = map(int,input().split())
p = list(map(int,input().split()))

P = []+p
P = list(accumulate(P))

ans = []

if n == 1:
    print((p[0]+1)/2)
elif n == k:
    print((sum(p)+n)/2)
else:    
    for i in range(n-k):
        ans.append(P[i+k]-P[i])
    print((max(ans)+k)/2)
a, b, c = map(int, input().split())
print(10*a+b+c if 10*a+b+c a+10*b+c else a+10*b+c)

### FIXED CODE ###

a, b, c = sorted(map(int, input().split()), reverse=True)
print(10*a+b+c)
A, B=int(input())
if 1<=A<=9, 1<=B<=9:
  print("A*B")
else:
  print("-1")

### FIXED CODE ###

a,b=map(int,input().split())
if a>=10 or b>=10:
  print(-1)
else:
  print(a*b)
import collections

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

for i in range(N):
    S.append(input())

c = collections.counter(S)

print(len(c))


### FIXED CODE ###

import collections

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

for i in range(N):
    S.append(input())

c = collections.Counter(S)

print(len(c))
A, B, C, D, E, F = map(int, input().split())

w = set()
for i in range(F // (100 * A) + 1):
    for j in range(F // (100 * B) + 1):
        a = (A * i + B * j) * 100
        if a < F:
            w.append(a)
w.remove(0)

best_concentration = -1
best_a = -1
best_b = -1
for a in w:
    for i in range((F - a) // C + 1):
        for j in range((F - a) // D + 1):
            b = C * i + D * j
            if a + b > F:
                continue
            if b > E * a // 100:
                continue
            concentration = 100 * b / (a + b)
            if concentration > best_concentration:
                best_concentration = concentration
                best_a = a
                best_b = b
print(best_a + best_b, best_b)


### FIXED CODE ###

A, B, C, D, E, F = map(int, input().split())

w = []
for i in range(F // (100 * A) + 1):
    for j in range(F // (100 * B) + 1):
        a = (A * i + B * j) * 100
        if a < F:
            w.append(a)

best_concentration = -1
best_a = -1
best_b = -1
for a in w:
    t = min(F - a, E * a // 100)
    for i in range(t // C + 1):
        for j in range(t // D + 1):
            b = C * i + D * j
            if a + b > F:
                continue
            if b > E * a // 100:
                continue
            if a + b == 0:
                continue
            concentration = 100 * b / (a + b)
            if concentration > best_concentration:
                best_concentration = concentration
                best_a = a
                best_b = b
print(best_a + best_b, best_b)
# -*- coding: utf-8 -*-
# @Time    : 2020/3/1 19:59
# @Author  : DIRICHLET
# @File    : main.py


b=[[0,0,0]]*3
#print(b)
m={}
for i in range(3):
    t=list(map(int,input().split()))
    k=0
    for j in t:
        m[j]=(i,k)
        k+=1
n=int(input())
for i in n:
    t=int(input())
    if t in m:
        #print(m[t])
        b[m[t][0]][m[t][1]]=1
for i in b:
    ans=1
    for j in i:
        ans*=j
    if ans==1:
        print('Yes')
        exit()
for i in range(3):
    ans=1
    for j in range(3):
        ans*=b[j][i]
    if ans==1:
        print('Yes')
        exit()
if b[0][0]*b[1][1]*b[2][2]==1:
    print('Yes')
    exit()
if b[0][2]*b[1][1]*b[2][0]==1:
    print('Yes')
    exit()
print('No')

### FIXED CODE ###

# -*- coding: utf-8 -*-
# @Time    : 2020/3/1 19:59
# @Author  : DIRICHLET
# @File    : main.py


b=[[0,0,0],[0,0,0],[0,0,0]]
#print(b)
m={}
for i in range(3):
    t=list(map(int,input().split()))
    k=0
    for j in t:
        m[j]=(i,k)
        k+=1
n=int(input())
for i in range(n):
    t=int(input())
    if t in m:
        #print(m[t])
        b[m[t][0]][m[t][1]]=1
for i in b:
    ans=1
    for j in i:
        ans*=j
    if ans==1:
        print('Yes')
        exit()
for i in range(3):
    ans=1
    for j in range(3):
        ans*=b[j][i]
    if ans==1:
        print('Yes')
        exit()
if b[0][0]*b[1][1]*b[2][2]==1:
    print('Yes')
    exit()
if b[0][2]*b[1][1]*b[2][0]==1:
    print('Yes')
    exit()
print('No')
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]

a, b, c = 0, 0, 0
for x, y, z in a:
    a, b, c = max(b, c) + x, max(a, c) + y, max(a, b) + z

print(max(a, b, c))

### FIXED CODE ###

import sys
import itertools
from operator import itemgetter #sortedの対象を決めたい
from fractions import gcd #最大公約数
from math import ceil, floor, sqrt, isinf #小数点切り上げ、切り捨て、平方根
from copy import deepcopy #参照で影響されないコピー
from collections import Counter, deque #要素ごとの出現回数、双方向アクセス可能データ型
import heapq
import numpy as np
from functools import reduce
sys.setrecursionlimit(200000)

input = sys.stdin.readline
# template

def retmax(a, b):
    if a > b:
        return a
    else:
        return b

def main():
    n = int(input())
    a = [list(map(int, input().split())) for _ in range(n)]

    dp = np.zeros([3, n+1])

    for i, a_l in enumerate(a):
        for j in range(3):
            for k in range(3):
                if j != k:
                    dp[k, i+1] = retmax(dp[k, i+1], dp[j, i] + a_l[k])

    print(int(np.max(dp[:, n], axis=0)))


if __name__ == "__main__":
    main()
N = input() % 10

if N in (2,4,5,7,9):
  print('hon')
elif N in (0,1,6,8):
  print('pon')
else:
  print('bon')


### FIXED CODE ###

N = input()
num = int(N) % 10

if num in (2,4,5,7,9):
  print('hon')
elif num in (0,1,6,8):
  print('pon')
else:
  print('bon')
while True:
    e=int(input())
    if e==0:
        break
    m=e
    for z in range(int(e**(1/3))+1):
        temp=e-z**3
        for y in range(int(e**(1/2))+1):
            x=temp-y**2
            if x>=0 and (x+y+z<m):
                m=x+y+z
    print(m)


### FIXED CODE ###

from math import sqrt

while True:
    e=int(input())
    if e==0:
        break
    m=e
    for z in range(e):
        if(z**3>e):
            break
        temp=e-z**3
        y=int(sqrt(temp))
        x=temp-y**2
        m=min(m,x+y+z)
    print(m)
a,b=map(int,input().split())
h=1
ans=0
while h<b:
    h-=1
    h+=a
    ans+=1
print(ans)

### FIXED CODE ###

import numpy as np
n = int(input())
h = list(map(int, input().split()))
h_diff = np.diff(h)
li = [[]]
for i in range(n-1):
  if(h_diff[i] > 0):
    li.append([])
  else:
    li[-1].append("s")
tmp = 0
for arr in li:
  if(tmp <= len(arr)):
    tmp = len(arr)
print(tmp)
num = int(input().split())
str = ''
strc = ''
for i in range(num[0]):
  strc = input()
  if str > strc:
    str = strc + str
  else:
    str = str + strc
print(str)

### FIXED CODE ###

num = input().split()
str = [input()]
strc = ''
flg = 0
res = ''
for i in range(int(num[0])-1):
#	print(1)
	strc = input()
	for j in range(len(str)):
		if str[j] < strc:
#			print(2)
			flg = 0
		else:
#			print(3)
			flg = j
			break
		j += 1
	flg = -1
	if flg == 0:
		str.append(strc)
	else:
		str.insert(j,strc)
#	print(str)
for x in str:
	res += x
print(res)
K, X = list(map(int,input().split()))

def main():
    coin = 500
    if x <= coin*K:
        print("Yes")

    else:
        print("No")

if __name__ == "__main__":
    main()


### FIXED CODE ###

K, X = list(map(int,input().split()))

def main():
    coin = 500
    if X <= coin*K:
        print("Yes")

    else:
        print("No")

if __name__ == "__main__":
    main()
s=input()

if "h" in s:
    flag = True
    for i in range(len(s)-1):
        if s[i]=="h":
            if s[i+1]!="i":
                flag=False

if flag:
    print("Yes")
else:
    print("No")

### FIXED CODE ###

s=input()
if s=="hi" or s=="hihi" or s=="hihihi" or s=="hihihihi" or s=="hihihihihi":
    print("Yes")
else:
    print("No")
nm = input().split(" ")
n = int(nm[0])
m = int(nm[1])

a = input().split(" ")

total = 0
for v in a:
  total += int(a)
  
mv = total / (4 * m)
q = 0
for e in a:
  e = int(e)
  if e >= mv:
    q += 1
    
if q >= m:
  print("Yes", end="")
else:
  print("No", end="")
 

### FIXED CODE ###

nm = input().split(" ")
n = int(nm[0])
m = int(nm[1])
 
a = input().split(" ")
 
total = 0
for v in a:
  total += int(v)
  
mv = total / (4 * m)
q = 0
for e in a:
  e = int(e)
  if e >= mv:
    q += 1
    
if q >= m:
  print("Yes")
else:
  print("No")
from decimal import Decimal

x,y = map(Decimalt,input().split())
print(int(x*y))


### FIXED CODE ###

from decimal import Decimal


def main():
    A, B = map(Decimal, input().split())

    print(int(A*B))


if __name__ == "__main__":
    main()
s = input().strip()
t = input().strip()
print(t+s)

### FIXED CODE ###

a=input()
s,t = a.split()
print(t+s)
N = int(input())
A = list(map(int, input().split()))
A.sort(reversed=True)
alice = 0
bob = 0
for index, a in enumerate(A):
  if (index % 2)  == 0:
    alice += a
  else:
    bob += a
print(alice - bob)

### FIXED CODE ###

N = int(input())
A = list(map(int, input().split()))
A = sorted(A, reverse=True)
alice = 0
bob = 0
for index, a in enumerate(A):
  if (index % 2)  == 0:
    alice += a
  else:
    bob += a
print(alice - bob)
K, X = map(int, input().split())

if (500 * x) >= K:
    print('Yes')
else:
    print(('No')


### FIXED CODE ###

K, X = map(int, input().split())

if (500 * K) >= X:
    print('Yes')
else:
    print('No')
N = input()
vals = map(int, input().split())
result = 1000000
for i in range(0, N):
    val = vals[i]
    count = 0
    while True:
        if val % 2 == 1:
            break
        val /= 2
        count += 1
    if result > count:
        result = count
print (result)

### FIXED CODE ###

N = int(input())
vals = list(map(int, input().split()))
count = 0
is_odd = False
while True:
    for i in range(0, N):
        if vals[i] % 2 == 1:
            is_odd = True
        vals[i] /= 2
    if is_odd:
        break
    count += 1
print (count)
def main():
    k = int(input())
    a = min(k, 50)
    b = k % a
    ans = [i + k//a for i in range(a)]
    for i in range(b):
        ans.sort()
        for j in range(1, a):
            ans[j] -= 1
        ans[0] += a

    print(a)
    print(*ans)


if __name__ == '__main__':
    main()

### FIXED CODE ###

from datetime import date
from math import factorial
import functools
from heapq import*
from collections import deque
import collections
import math
from collections import defaultdict, Counter
import sys
sys.setrecursionlimit(10 ** 7)
MOD = 10 ** 9 + 7
inf = float("inf")


def main():
    k = int(input())
    if k == 0:
        print(3)
        print("2 2 2")
        exit()
    elif k == 1:
        print(3)
        print("1 0 3")
        exit()
    a = min(k, 50)
    b = k % a
    ans = [i + k//a for i in range(a)]
    for i in range(b):
        ans.sort()
        for j in range(1, a):
            ans[j] -= 1
        ans[0] += a

    print(a)
    print(*ans)


if __name__ == '__main__':
    main()
n, k, l = map(int, input().split())
roads = list(range(n))
railways = list(range(n))
ans = []
for _ in range(k):
     a, b = map(lambda x : int(x) - 1, input().split())
     i = min(roads[a], roads[b])
     roads[roads[a]] = roads[a] = i
     roads[roads[b]] = roads[b] = i
for _ in range(l):
     a, b = map(lambda x : int(x) - 1, input().split())
     i = min(railways[a], railways[b])
     railways[railways[a]] = railways[a] = i
     railways[railways[b]] = railways[b] = i

roads_dic = dict()
railways_dic = dict()
for i in range(n):  
    if roads[i] == i and not i in roads_dic:
        roads_dic[i] = {i}
    elif not roads[roads[i]] in roads_dic:
        roads_dic[roads[roads[i]]] = {i, roads[i]}
    else:
        roads_dic[roads[i]].add(i)

    if railways[i] == i and not i in railways_dic:
        railways_dic[i] = {i}
    elif not railways[railways[i]] in railways_dic:
        railways_dic[railways[railways[i]]] = {i, railways[i]}
    else:
        railways_dic[railways[i]].add(i)

ans = [len(roads_dic[roads[i]] & railways_dic[railways[i]]) for i in range(n)]
print(" ".join(map(str, ans)))

### FIXED CODE ###

class UnionFindTree:
    def __init__(self, n):
        self.nodes = [-1] * n #根にサイズを負の値で格納する。
    def find(self, i):
        if self.nodes[i] < 0: #値が負の場合は根
            return i
        else:
            self.nodes[i] = self.find(self.nodes[i]) #縮約
            return self.nodes[i]

    def union(self, i, j):
        i = self.find(i)
        j = self.find(j)
        if i == j:
            return
        if self.nodes[i] > self.nodes[j]: #サイズ比較してiの方がサイズが大きいようにする
            i, j = j, i
        self.nodes[i] += self.nodes[j] #大きい方に小さい方を統合しサイズを登録する。
        self.nodes[j] = i # jの親はi
    
    def size(self, i): # 所属する集合の大きさを返す
        i = self.find(i)
        return -self.nodes[i]


n, k, l = map(int, input().split())
roads = UnionFindTree(n)
railways = UnionFindTree(n)
ans = []
for _ in range(k):
    a, b = map(lambda x : int(x) - 1, input().split())
    roads.union(a, b)
    
for _ in range(l):
    a, b = map(lambda x : int(x) - 1, input().split())
    railways.union(a, b)

counter = dict()
for i in range(n):
    p = (roads.find(i), railways.find(i))
    if not p in counter:
        counter[p] = 1
    else:
        counter[p] += 1

ans = [counter[(roads.find(i), railways.find(i))] for i in range(n)]
print(" ".join(map(str, ans)))
s = [int(x) if x!='?' else -1 for x in input()]
??2??5

mod = 1000000007
length = len(s)
ans = list([0]*13 for i in range(length+1))
ans[0][0] = 1

mod_x10 = [0]*13
for i in range(13):
    mod_x10[i] = i * 10 % 13 - 14

for i in range(length):
    if s[i] == -1:
        for j in range(13):
            x = mod_x10[j]
            for k in range(10):
                x = x + 1
                ans[i+1][x] += ans[i][j] % mod
    else:
        for j in range(13):
            ans[i+1][(mod_x10[j] + s[i] + 1) % 13] += ans[i][j] % mod

print('a')
print(ans[length][5] % mod)


### FIXED CODE ###

MOD = 1000000007;

s = [int(x) if x!="?" else -1 for x in input()]

n=len(s)

r=[0]*13

c=s[0]
if (c!=-1):
	r[c]=1
else:
	for i in range(10):r[i]=1

for i in range(1,n):
	dp=[0]*26
	for j in range(13):dp[j*10%13]+=(r[j]%MOD)
	dp[13:26]=dp[0:13]
	c=s[i]
	r=[0]*13
	if (c==-1):
		w=sum(dp[4:14])
		for j in range(13):
				r[j]+=w
				w=w+dp[j+1]-dp[4+j]
	else:
		for j in range(13):
			r[j]+=dp[13-c+j]
print (r[5]%MOD)
import bisect
import copy
import heapq
import math
import sys
from collections import *
from itertools import accumulate, combinations, permutations, product
# from math import gcd
def input():
    return sys.stdin.readline()[:-1]
def ruiseki(lst):
    return [0]+list(accumulate(lst))
mod=pow(10,9)+7
al=[chr(ord('a') + i) for i in range(26)]
direction=[[1,0],[0,1],[-1,0],[0,-1]]

n=int(input())
xy=[list(map(int,input().split())) for i in range(n)]

mi,ma=0,2000
com=list(combinations(range(n),2))

while ma-mi>10**(-9):
    half=(ma+mi)/2
    # print(ma,mi,half)
    lst=[]
    flag=1
    for co in com:
        a,b=co
        ax,ay=xy[a]
        bx,by=xy[b]
        kyori=((ax-bx)**2+(ay-by)**2)**0.5
        if kyori/2>half:
            mi=half
            break
        else:
            h=((kyori/2)**2-half**2)**0.5
            tyuuten=((ax+bx)/2,(ay+by)/2)
            tmp=h/2/kyori
            lst.append((tyuuten[0]+(ay-by)*tmp,tyuuten[1]-(ax-bx)*tmp))
            lst.append((tyuuten[0]-(ay-by)*tmp,tyuuten[1]+(ax-bx)*tmp))
            # print(((lst[-1][0]-ax)**2+(lst[-1][1]-ay)**2)**0.5,half)
    else:
        for co in lst:
            bx,by=co
            for i in range(n):
                ax,ay=xy[i]
                if (ax-bx)**2+(ay-by)**2+0.00000001>half**2:
                    break
            else:
                ma=half
                break
        else:
            mi=half
print(ma)

### FIXED CODE ###

import math
N=int(input())
x=[0 for i in range(N)]
y=[0 for i in range(N)]
p=[]
for i in range(N):
    x[i],y[i]=map(int,input().split())
    p.append((x[i],y[i]))
def dist(p,q):
    a,b=p
    c,d=q
    return math.sqrt((a-c)**2+(b-d)**2)
def check(R):
    Q=[]
    for i in range(N):
        for j in range(i+1,N):
            d=dist(p[i],p[j])/2
            if R<d:
                return False
            h=math.sqrt(R*R-d*d)
            #print(d,h,R)
            nx,ny=(x[j]-x[i],y[j]-y[i])
            nr=math.sqrt(nx**2+ny**2)
            dx,dy=h*nx/nr,h*ny/nr
            mx,my=(x[i]+x[j])/2,(y[i]+y[j])/2
            #print(mx,my)
            #print(dx,dy)
            Q.append((mx+dy,my-dx))
            Q.append((mx-dy,my+dx))
    #print(Q,R)
    for pa in Q:
        flag=1
        for i in range(N):
            #print(pa,i,dist(pa,p[i]),R)
            if dist(pa,p[i])>R+9e-7:
                flag=0
                break
        if flag==1:
            return True
    return False

low=0
high=2000
for line in range(50):
    mid=(low+high)/2
    if check(mid):
        high=mid
    else:
        low=mid
print(mid)
n = input()

n = int(n)

for i in range(1, n+1):
  if '3' in str(i)
    print(i)



### FIXED CODE ###

N = int(input())
res = []
for i in range(1, N+1):
    if '3' in str(i) or i%3 == 0:
        res.append(i)

i = 0
print(" ", end="")
for r in res:
    print(r, end="")
    if i == len(res)-1:
        #pass
         print('\n', end="")
    else:
        print(" ", end="")

    i += 1