Go: package main

import (
        "fmt"
        "math"
)

var interests [101]float64

func main() {
        var m int
        fmt.Scanf("%d", &m)
        fmt.Printf("%d\n", int(math.Ceil(interest(m)*100))*1000)
}

func interest(m int) (i float64){
        if interests[m] > 0 {
                return interests[m]
        }

        if m == 0 {
                interests[0] = 1.0
                return interests[0]
        }

        if m == 1 {
                interests[1] = 1.05
                return interests[1]
        }
        interests[m] = interest(m/2) * interest(m/2) * interest(m%2)
        return interests[m]
}

Python: def int_floor(src,range):
    return (int)(src  / range)*range

def int_ceil(src,range):
    return ((int)(src / range) + 1) * range

def main():
    week = int(input())
    debt = 100000
    risi = int_ceil(int(debt*0.05) * week,10000)
    ans = debt + risi
    print(ans)

if __name__ == "__main__":
    main()

Python: import math
n=int(input())

money = 100000
par = 1.05

for i in range(n):
    up = (money*1.05)/1000
    money = math.ceil(up)*1000
    #print(up*1000, money)
print(money)

Python: a=100000
n=int(input())
for i in range(n):
    a*=1.05
    if a%1000:
        a=int(a//1000*1000+1000)
print(a)

Python: def Round(ip, dg):  # ip???dg?????§?????¨?????\????????¢??°
    ip = ip / 10**dg
    if(ip-int(ip) != 0):
        return (int(ip) + 1)*10**dg
    else:
        return int(ip)*10**dg


n=int(input())
sum=100000
for i in range(0, n):
    sum=Round(sum*1.05, 3)
print(sum)

Python: import math
a = 100000
for n in range(int(input())):
	a = math.ceil(a*105/100)
print(int(a))

Python: # -*- coding: utf-8 -*-

import sys
import os
import math


N = int(input())
cost = 100000

for i in range(N):
    cost *= 1.05
    cost = round(cost)

    if cost % 1000 > 0:
        cost = (cost // 1000) * 1000 + 1000
print(cost)

Python: import math
n=int(input())
a=100000
for i in range(n):
    a=math.ceil(1.05*a/1000)*1000
print(a)

Python: import math
N = int(input())
A = 100000
for _ in range(N):
    A = A * 1.05
    A = (int(math.ceil(A / 1000))) * 1000
print(A)

Python: n=int(input())
S=100000
for i in range(n):
    S = S*1.05
    R = S%1000
    if R:
        S = S-R+1000
print(int(S))

Python: import math

n = int(input())
d = 100000

for i in range(n):
	d *= 1.05
	d = math.ceil((d/1000))*1000
print(d)

Python: while True:
    try:
        n = int(input())
        dept = 100000
        for i in range(0,n):
            dept += dept * 0.05
            round = dept % 1000
            if round > 0:
                dept += 1000 - round
        print(int(dept))
    except:
        break

Python: a = int(input())
s = 100000
for i in range (a):
        s = s *1.05
        if s % 1000:
           s = s - (s % 1000) + 1000
print(int(s))

Python: n=int(input())
s=100000
for i in range (n):
    s*=1.05
    s=int(s)
    if s%1000==0:
        s=s
    else:
        s=(int(s/1000)+1)*1000

print(s)

Python: debt = 100000

weeks = int(input())
for i in range(weeks):
    debt = int(debt * 1.05)
    frac = debt % 1000
    if frac != 0:
        debt = debt - frac + 1000
print(debt)

Python: import math
r = 100000
for i in range(int(input())): r = math.ceil(r*1.05/1000)*1000
print(r)

Python: n = int(input())
d = 100000

for i in range(n):
    d *= 1.05
    if d % 1000:
        d = d - d%1000 + 1000
print(int(d))

Python: n= int(input())
s= 100000
for i in range(n):
        s = s * 1.05
        if s % 1000:
                s = s - (s % 1000) + 1000
print(int(s))

Python: s = int(input())
print(int(100000+100000*(0.05*s)+1000*s))

Python: n = int(input())
r=lambda x:(x*2+1)//2
ans = int(100000 + (100000 * (0.05 * n)))
print(int(r(ans / 10000) * 10000))

Python: import math
n=input()
n=int(n)
a=100000
for i in range(n):
    a=a*1.05
    a=math.ceil(a/1000)*1000
print(a)

Python: # -*- coding: utf-8 -*-

import math

r = 100
n = int ( input ( ) )
for i in range ( n ):
  r = math.ceil ( r * 1.05 )
print ( r * 1000 )

Python: n=int(input())
i=1
sum=100000
while i<=n:
    M=(sum)*0.05
    sum+=M
    if (sum)%1000==0:
        sum=sum
    else:
        sum=((sum//1000)+1)*1000
    i+=1
print(int(sum))

Python: # 累積計算

if __name__ == "__main__":
    n = int(input())
    # print(n)

    y = 100000  # 10万　100,000
    y2 = y / 1000
    for i in range(0, n):

        y4 = y2 * 1.05
        # y3 = round(y2 * 1.05 -0.5, 0)
        y3 = float(int(y2 * 1.05))
        #print("  {} {}".format(y4, y3))
        if y4 - y3 > 0:
            y4 += 1
        y2 = int(y4)
        #print("{} {}".format(i, y2 * 1000))

    print(y2 * 1000)

    # 0 105,000
    # 1 110,250 -> 111,000
    # 2 116,550 -> 117,000
    # 3 122,850 -> 123,000
    #4 129,150 -> 130,000

Python: x = 100000
for i in range(int(input())):
    x*=1.05
    x+=999
    x=x//1000*1000
print(int(x))

Python: import math
d=100
for _ in[0]*int(input()):
 d=math.ceil(d*1.05)
print(d*1e3)

Python: from decimal import Decimal, ROUND_HALF_UP
week = int(input())
debt = 100000 * (1 + 0.05)**week
print(int(Decimal(debt).quantize(Decimal('1E4'), rounding=ROUND_HALF_UP)), end="")

Python: import math
r=100
n=int(input())
for i in range(n):
    r=math.ceil(r*1.05)
print(r*1000)

Python: from decimal import Decimal

def check(index):
    if index > len(debt_lis)-1:
        for i in range(len(debt_lis)):
            debt_lis[i] = '0'
        debt_lis.append('1')
        return
    if int(debt_lis[index]) + 1 == 10:
        return check(index+1)
    else:
        for i in range(index):
            debt_lis[i] = '0'
        num = int(debt_lis[index]) + 1
        debt_lis[index] = str(num)
        return

input_line = raw_input()
n = int(input_line)

debt = 100000
for i in range(n):
    debt = int((debt * Decimal(1.05))) 
    debt_lis = list(str(debt))
    debt_lis.reverse()
    for char_num in debt_lis[:3]:
        if not int(char_num) == 0:
            check(3)
            break
    debt_lis.reverse()
    debt = int(''.join(debt_lis))
print(debt)

Python: num=int(input())
debt=100000
for i in range(1,num+1):
    debt+=((debt)/100)*5
    if not debt%1000==0:
        debt-=(debt%1000)
        debt+=1000
print(int(debt))

Python: n = int(input())
S = 100000
for i in range(n) :
    S *= 1.05
    if S % 1000!= 0 :
        S = (int(S/1000)+1)*1000
print(S)

Python: import math
n = int(input())
money = 100000
for i in range(n):
    money = money*1.05
    money = math.ceil(money/1000)*1000
print(money)

Python: import math
n = int(input())
a = 100

for i in range(n):
    a = math.ceil(a * 1.05)
   
print(a * 1000)

Python: from math import ceil
from functools import reduce
print(reduce(lambda x, y: int(ceil(x * 1.05 / 1000) * 1000) , [100000] + list(range(int(input())))))

Python: import math
a = 100000
for n in range(int(input())):
	a = math.ceil(a*105/100)
print(a)

Python: # -*- coding: utf-8 -*-
import math

a=100
b=int(input())

for i in range(b):
    a=math.ceil(a*1.05)

print(a*1000)

Python: n=int(input())
money=100000
for i in range(n):
    money*=1.05
    if money%1000==0:
        pass
    else:
        money=int(money//1000*1000+1000)
    i+=1
print(money)

Python: import math
n = int(input())
print(n)
money = int(100)
for i in range(n):
    money *= 1.05
    money = math.ceil(money)
print(int(money) * 1000)
print()

Python: import math

n = eval(input())
yen = 100000
for i in range(n):
	yen += yen * 0.05
	yen = int(math.ceil(yen / 1000.0) * 1000)
print(yen)

Python: n=int(input())
s=100000
for i in range(n):
    s=s*1.05
    if s%1000==0:
        s=s
    else:
        s=(s//1000)*1000+1000
print(int(s))

Python: n = int(input())
ans = 100000
for i in range(n):
    ans *= 1.05
if ans % 1000 > 0:
    ans = ans // 10000 * 10000 + 10000
print(int(ans))

Python: n = int(input())
d = 100000
for i in range(n):
    d *= 1.05
    d = d - (d - 1) % 1000 + 999
print(int(d))