Go: package main

import (
	"fmt"
	"os"
	"bufio"
	"strconv"
	"math"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		n, _ := strconv.Atoi(scanner.Text())
		debt := float64(100000)
		for i:=1; i<=n; i++ {
			debt = debt*1.05
			debt = math.Ceil(debt*0.001) * 1000
		}		
		fmt.Println(int(debt))
	}
}

Python: n = int(input())
dept = 100000
for i in range(n):
    dept += dept*0.05
print(int(round(dept,-4)))

Python: import math

n=int(input())
a=100000

for _ in range(n):
    a+=a*0.05
    a=math.ceil(a/1000)*1000

print(math.floor(a))

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

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())
a =  100000
for i in range(n):
    a =  a*1.05
    if a%1000 == 0:
        a = a
    else:
        a = (a//1000*1000+1000)
print(math.floor(a))

Python: import math
debt = 100000
for x in range (0, int(input())):
    debt = math.ceil(debt * 1.05, -3)
    
print(int(debt))

Python: n = int(input())

money = 100000

for i in range(n):
  money *= 1.05
  if money % 1000 != 0:
    money = int(money // 1000 * 1000 + 1000)
    
print(money)

Python: n=int(input())
print(n*10000+100000)

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

Python: n = int(input())
amount = 100000
for i in range(n):
    amount = int(-(-amount * 1.05 // 1000) * 1000)
print(amount)

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

for i in range(n):
  debt *= 1.05
  if debt % 1000 != 0:
    debt = int(((debt // 1000) + 1) * 1000)

print(debt)

Python: import math
n = int(input())
x = 100000
for i in range(n):
  x *= 1.05
  x = math.ceil(x)
  if x % 1000:
    x = x - (x % 1000) + 1000
print(x)

Python: N=int(input())
a=100000
for i in range(N):
    x=a+(a*0.05)
    
    if x%1000==0:
        a=x
    else:
        a=(x-(x%1000))+1000

print(int(a))

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

Python: import math

N=int(input())
a=100000

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

Python: n=int(input())
dept=100000
for i in range(n):
    A=dept*0.05/1000
    if(A!=int(A)):
        dept=dept+int(A)*1000+1000
    else:
        dept=dept+int(A)*1000
print(dept)

Python: import math
n = int(input())
s = 100000
r = 0.05
while n > 0:
    s += math.ceil((s * r) / 1000) * 1000
    n -= 1
print(s)

Python: # coding:utf-8
import math
debt = 100000

for _ in range(int(input())):
    debt *= 1.05
    debt = math.ceil(debt / 1000) * 1000

print(debt)

Python: #!/usr/bin/env python3
# -*- coding: utf-8 -*-
def main(): 
	week = int(input())
	base = 100000
	x = 1
	for i in range(week):
		x = round(x * 1.05 + 0.004 ,2)
	print(x)
if __name__ == '__main__':
  main()

Python: import math

while True:
    try:
        N = int(input())
    except ValueError:
        pass
    else:
        break

lent = 100000
for i in range(N):
    lent *= 1.05
    lent = math.ceil(lent / 1000) * 1000
    
print(lent)

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

print(int(debt))

Python: import math
res = 100
N = int(input())
for i in range(N):
    res = math.ceil(res * 1.05)
print("%d000" % res)

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

Python: import math

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

Python: import sys
n=int(sys.stdin.readline())
money=100000
for i in range(n):
    money*=1.05
    money=int(money)
    mod = money%1000
    money=money//1000
    if mod>0:
        money+=1
    money=money*1000
print (money)

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

Python: import math
n=int(input())
s=100000
for i in range(n):
	s +=(s*0.05)
s=s/10000
s=int(round(s,0)*10)
print(str(s)+"000")

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)))

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

C++: #include <stdlib.h>
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>



using namespace std;

int main()
{
	const int BUFF_SIZE = 100;
	char buff[BUFF_SIZE];
	int y = 100000;

	string s;
	getline(cin, s);
	
	long n;
	sscanf(s.c_str(), "%ld", &n);
	
//	printf("%d\n", n);
	
	for (int i = 0; i < n; i++)
	{
		double z = y;
		z *= 1.05;
		y = (int)z;
		
		sprintf(buff, "%d", y);
		
	
		string t = buff;
		string u = t.substr(t.length() - 3);
		int aa;
		sscanf(u.c_str(), "%ld", &aa);
		
		y /= 1000;
		y *= 1000;
		if (0 < aa)
		{
			y += 1000;
		}
	}
	
	printf("%d\n", y);

	return 0;
}

C++: #include <iostream>
using namespace std;

double cutup(double x) {
  if (x - (double)((int)x / 1000) * 1000 > 0) {
    x = (double)((((int)x / 1000) + 1) * 1000);
  }
  return x;
}

double money(double x, int target, int depth = 0) {
  if (target == depth) { return x; }
  return money(cutup(x * 1.05), target, depth + 1);
}

int main() {
  std::cin.tie(0);
  std::ios::sync_with_stdio(false);

  int n, x;
  cin >> n;

  printf("%.0f\n", money(100000., n));

  return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	bool bo=false;
	int n,a=100000;
	cin>>n;
	for(int i=0;i<n;i++){
		a+=100000*0.05;
	}
	if(a%10000==0 && a%1000==0 && a%100==0 && a%10==0){
		bo=true;
	}
	a/=10000;
	if(bo==false){
		a=a+1;
	}
	cout<<a*10000<<endl;
	return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
	int debt = 100000.0;
	int n, r;
	cin >> n;
	while ( n-- > 0 ){
		debt *= 1.05;
		r = debt % 1000;
		if ( r != 0 ){
			debt = debt - r + 1000;
		}
	}
	cout << debt << endl;

	return 0;
}

C++: #include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    int n;
    cin >> n;
    cout << 100000 * (1+(n+1)*0.05) << endl;
    return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
int n,M,m;
M=100;
cin>>n;
for(int i=0;i<n;i++){
m=(M+19)/20;
M+=m;
}
cout<<M*1000<<endl;
}

C++: #include <iostream>
#include <string>
using namespace std;

int main(){
	int n, k = 100000;
	cin >> n;
	for(int i = 0;i<n;i++){
		k *= 1.05;
		if(k%1000>0){
			k = k - (k % 1000) + 1000;
		}
	}
	cout << k << endl;
	return 0;
}

C++: #include<iostream>
int main()
{
	int debt = 100000;
	int n;
	std::cin >> n;
	for(int i = 0; i < n; i++)
	{
		debt *= 1.05;
		if(debt % 1000 > 0)
		{
			debt -= debt % 1000;
			debt += 1000;
		}
	}
	std::cout << debt << std::endl;
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

int main (int argc, char * const argv[]) {
    // insert code here...
    int n, t, d=100000;
	
	cin>>n;
	
	for(int i=0;i<n;i++){
		d*=1.05;
		t=d;
		t/=1000;
		t*=1000;
		if(d-t>0){
			d=t+1000;
		}
		//cout<<d<<endl;
		//cout<<d-t<<endl<<endl;
	}
	cout<<d<<endl;
	
	return 0;
}

C++: #include <stdio.h>
#include <string>
#include <iostream>

using namespace std;


int main(){
    int week;
    cin >> week;
    double money =10;
    
    for(int i=0; i<week; i++){
        money=money * 1.05;
    }
    printf("%d\n",int(money+0.999)*10000);
}