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

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

Python: a=100000

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

Python: from math import ceil
from functools import reduce
print(reduce(lambda x, y: int(ceil(int(ceil(100000 * 1.05 / 1000) * 1000) * 1.05 / 1000) * 1000) if x == 0 else int(ceil(x * 1.05 / 1000) * 1000) , range(int(input()))))

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

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

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

for i in range(inp):
    #debt *= 1.05
    debt +=6000
    debt = int(debt)
    print(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: n = int(input())
S = 100000

for i in range(n):
    S = int(S*1.05)
    slist = list(str(S))
    if slist[-3:] == ['0','0','0'] :
        S = S
    else:
        S = S  - int(slist[-3])*100 - int(slist[-2])*10 - int(slist[-1])*1 + 1000

print(S)

Python: m = 100000
n = int(input())
while n > 0:
  n -= 1
  m = m + (m * 5 // 100)
  m = ((m-1) // 1000 + 1) * 1000
print(m)

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

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

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

Python: # Aizu Problem 0007: Debt Hell
#
import sys, math, os

# read input:
PYDEV = os.environ.get('PYDEV')
if PYDEV=="True":
    sys.stdin = open("sample-input.txt", "rt")


N = int(input())
debt = 100000
for week in range(N):
    interest = debt * .05
    iinterest = int(interest / 1000) * 1000
    if interest > iinterest:
        iinterest += 1000
    debt += iinterest

print(debt)

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

Python: import sys

def compoundInterest(x, i, n):
    if n == 0:
        return x

    ans = int(x * (1 + i))
    hasu = ans % 1000
    if hasu != 0:
        ans -= hasu
        ans += 1000
    return compoundInterest(ans, i, n-1)

if __name__ == "__main__":
    n = int(input())
    ans = compoundInterest(100000, 0.05, n)
    print (ans)

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

Python: n = int(input())
result = 100000
for i in range(0,n):
    result = result * 1.05
    if result % 1000 == 0:
        pass
    else:
        result = result-(result % 1000)+ 1000
        result = int(result)
print(result)

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

Python: num = int(input())
val = 100000

for i in range(num):
    val = val * 1.05
    rem = val%1000
    if rem != 0:
        val = val - rem + 1000

print(int(val))

Python: from math import ceil
debt=100000
bigets=1000
interest_rate=1.05

def calc_debt(n):
    d=debt//bigets
    while n>0:
        d=ceil(d*interest_rate)
        n -= 1
    return d*bigets
n=int(input())
print(calc_debt(n))

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

for i in range(n):
    ans+=ans*0.05
    if ans%1000!=0:
        ans-=ans%1000
        ans+=1000
    ans=int(ans)
print(ans)

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

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

Python: n=int(input())

m=100000

for i in range(n):
    m=m*1.05
    if m%1000==0:
        pass
    else:
        m=m-m%1000+1000
print(int(m))

Python: import math

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

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

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

import math

def main():

    debtTime = int(input())

    ans = int(culcDebt(debtTime))

    print(ans)

def culcDebt(t):
    debt = 100000
    for i in range(t):
        debt = debt * 1.05
        debt = 1000 * math.ceil(debt/1000)

    return debt


if __name__ == '__main__':
    main()

Python: import math
def int_ceil(src,range):
    return int(math.ceil(src/float(range)) * range)

def main():
    week = int(input())
    debt = 100000
    for i in range(week):
        risi = debt * 0.05
        debt = int_ceil(debt+ risi,1000)

    print(debt)

if __name__ == "__main__":
    main()

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: n = int(input())
x = 100000
for i in range(n):
    x += (x * 0.05 + 999) // 1000 * 1000
print(int(x))

Python: import math

weeks = int(input())
money = 100

for i in range(0, weeks):
    money = math.ceil(money * 1.05)

print(money * 1000)

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

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

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

Python: N=int(input())
def syakkin(N):
    pri=100000
    for i in range(N):
        pri=pri*1.05
        if pri%1000:
            pri=pri-(pri%1000)+1000
    return int(pri)
print(syakkin(N))

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

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

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