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)*10))*10000)
}

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: a= 100000;
n = int(input())
while n > 0:
	n -= 1
	a = a + (a * 5) // 100
	a = ((a - 1) // 1000 + 1) * 1000 
print(a)

Python: 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: def ceil(src, range):
    k = src / 1000
    if k == int(k):
        return int(src)
    else:
        return ((int)(src / range) + 1 ) * range

debt = 100000
for x in range (0, int(input())):
    debt = ceil(debt * 1.05, 1000)
    
print(int(debt))

Python: a=int(input())
b=100000
for i in range(a):
    ans=b*1.05
    if ans%1000!=0 :
        ans=ans+(1000-ans%1000)
        b=ans
    else:
        b=ans
print(int(b))

Python: from math import ceil

yen = 100000
for i in range(int(input())):
    yen = ceil((yen*1.05)/1000)*1000
print(yen)

Python: inp = int(input())
debt = 100000
num = 0
lisdeb = []
stdeb = ""

for i in range(inp):
    debt +=6000
    debt = int(debt)

    for i2 in range(len(str(debt))-1):
        lisdeb.append(str(debt)[i2])
    lisdeb.append(str(debt)[-1])

    for i2 in range(len(lisdeb)):
        if i2 == len(lisdeb)-3:
            stdeb += "0"
        elif i2 == len(lisdeb)-2:
            stdeb += "0"
        elif i2 == len(lisdeb)-1:
            stdeb += "0"
        else:
            stdeb += lisdeb[i2]
    debt = int(stdeb)
    lisdeb = []
    stdeb = ""
print(debt)

Python: import sys
import math

n = int(input())
debt = 100000
for i in range(1,n+1):
	debt = math.ceil((debt*1.05)/1000)*1000
print(debt)

Python: def main():
    n = int(input())
    ans = 100000
    for _ in range(n):
         ans = int(ans * 1.05)
         hoge = list(str(ans))
         hoge[-1] = "0"
         hoge[-2] = "0"
         hoge[-3] = "0"
         ans_str = ""
         for x in hoge:
             ans_str += x
         ans = int(ans_str) + 1000
    print(ans_str)


if __name__ == "__main__":
    main()

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

Python: from math import ceil

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

Python: n=int(input())
value=int(100000)
for i in range(n):
    value=value/100*105
    if value%1000>0:
        value-=value%1000
        value+=1000

print(int(value))

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

Python: a=100000;
n=int(input())

while n>0:
  n-=1
  a=a+(a*5)//100
  a=((a-1)//1000+1)*1000
print(a)

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

Python: import math

x,y = int(input()),100
for i in range(x):
    y = math.ceil(y*1.05)

print(y*1000)

Python: import math
N = int(input())
o = 100.000
for i in range(N):
    o += math.ceil(o*0.05)
    i += 1
print(int(o*1000))

Python: money = 100000
n=int(input())
for day in range(n):
     money += money*0.05
     money =-(-money//1000)*1000
print(int(money))

Python: n=int(input())

sum=100000
for i in range(n):
    sum=sum*1.05
    i+=1
    if sum%1000>0:
        sum=sum-sum%1000
        sum+=1000
print(int(sum))

Python: if __name__ == '__main__':

	n = int(input())

	s = 100000

	for i in range(n):
		s += int(s*(0.05))
		
		tmp0 = str(s)
		tmp1 = len(tmp0)
		tmp2 = tmp0[0:tmp1-3]
		num = tmp2 + "000"
		if int(s) - int(num) != 0:
			s = int(num) + 1000

	print(s)

Python: n = int(input())
ans = 100000 + (100000 * (0.05 * n))
print(int(round(ans / 10000) * 10000))

Python: import math

n = int(input())
def debt(i):
    if i == 0:
        return 100000
    else:
        return math.ceil(debt(i-1)*1.05/1000)*1000
print(debt(n))

Python: import math
shuu = input()
num = int(shuu)
ganpon = 100000
i = 1
while i < num:
    ganpon *= 1.05
    ganpon /= 1000
    ganpon = math.ceil(ganpon)
    ganpon *= 1000
    i += 1
    pass
print(ganpon)

Python: import math

s=int(input())
t=100

for i in range(0,s):
    t=math.ceil(t*1.05)
print(1000*t)

Python: import math;print([(x.append(y), x) for x in [[100000]] for _ in range(int(input())) for y in [math.ceil(x[-1] * 1.05 / 1000)*1000]][-1][-1][-1])

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

Python: a = 100000;
n = int(input())
while n > 0:
    n -= 1
    a = a + (a * 5) // 100
    a = ((a - 1) // 1000 + 1) * 1000   # 1000未満の切り上げ
print(a)

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

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: #Volume0-0007
a = int(input())
n = int(100000)
for w in range(a):
  if (n*1.05)%1000 == 0:
    n = n*1.05
  else:
    n = n*1.05//1000*1000+1000
print(int(n))

Python: import math

n = int(input())
b = 100
for i in range(n):
  b += b * 0.05
  b = math.ceil(b)
b *= 1000
print("%d" % b)

Python: a,i=int(input()),100
import math
while a!=0:a,i=a-1,math.ceil(i*1.05)

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

base = 100000
for i in range(n):
  base *= 1.05

  base /= 1000

  base = math.ceil(base)

  base *= 1000

print(base)

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: import math
n=int(input())
i=0
E=100
while(i<n):
    E=E*1.05
    E=math.ceil(E)
    i=i+1

print(E*1000)

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

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

Python: n=input()
loan=10**5
for i in xrange(n):
    loan+=loan*0.05
    if loan%1000!=0:
        loan-=loan%1000
        loan+=10**3
    else:
        loan-=loan%1000
print(int(loan))

Python: n=int(input())
debt=100
adds=1.05
for i in range(n):
    debt*=adds
    if debt%1!=0:
        debt=int(debt)+1
print(debt*1000)

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

Python: def cal(debt,n):
    if n==0: return debt
    for i in range(n):
        debt=debt*1.05
        if debt/1000>int(debt/1000):
            debt=(int(debt/1000)+1)*1000
    return debt

debt=100000
n=int(input())
print(cal(debt,n))

Python: #import math

def up(a):
    m = a//1000*1000
    if a%1000 > 0:
        return  int(m + 1000)
    else:
        return int(a)

n = int(input())
m = 100000

for i in range(n):
    m = m * 1.05
    m = up(m)

print(m)

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: debt = 100000
for i in range(int(input())):
    debt *= 1.05
    if debt % 1000 > 0:
        debt = int(debt/1000)*1000+1000
print(debt)