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]
}

C++: #include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
#include <queue>

using namespace std;
using ull = unsigned long long;
using ll = long long;
using lli = long long int;
using ld = long double;
using pa = pair<int,int>;
#define SORT(v, n) sort(v, v+n);
#define VSORT(v) sort(v.begin(), v.end());
#define GRESORT(v) sort(v.begin(),v.end(),greater<int>())
#define REVERSE(v) reverse(v.begin(),v.end())
#define overlap(v) v.erase(unique(v.begin(),v.end()),v.end())
#define debug(x) cout << #x << ": " << x << endl
#define FOR(i,a,b) for(int i = (a); i < (b); i++)
#define rep(i,n) FOR(i,0,n)
#define RFOR(i,a,b) for(int i = (b-1); i >= a; i--)
#define rrep(i,n) RFOR(i,0,n)
#define INF 999999999

//4??????
//int dy[]={0, 0, 1, -1};
//int dx[]={1, -1, 0, 0};

//8??????
//int dy[]={0,0,1,-1,1,1,-1,-1};
//int dx[]={1,-1,0,0,1,-1,1,-1};

ll mod = (ll)1e9+7;

void solve(){
    ll n; cin >> n;
    ll ans = 100000;
    rep(i,n){
        ans *= 1.05;
        if(ans % 1000){
            ans -= ans % 1000;
            ans += 1000;
        }
    }
    cout << ans << endl;
}

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

    solve();

    return 0;
}

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

C++: #include<iostream>

int n,money = 100000;

void OneWeek(int &a){
	a += a*0.05;
	if(a%1000 != 0){
		a -= a%1000;
		a += 1000;
	}
}

int main(){
	std::cin >> n;
	for(int i=0; i<n; i++)
		OneWeek(money);
	std::cout << money << std::endl;
	return 0;
}

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


int main(){

int money=100000;
int i,n;

cin >> n;

for(i=0;i<n;i++){
money*=1.05;

if(money%1000!=0){
money+=1000-(money%1000);
}
}


cout << money << endl;

}

C++: #include <stdio.h>
typedef long long ll;
 
int main(void) {
  ll i, n, ans = 100000;
  scanf("%lld", &n);
  for(i = 0; i < n; ++i) {
    ans = ans + ans / 20;
    if(ans % 1000) ans -= ans % 1000, ans += 1000;
  }
  printf("%lld\n", ans);
  return 0;
}

C++: #include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<string>
using namespace std;


int main() {

	int dept = 100000;

	int n;

	cin >> n;

	for (int i = 0; i < n; i++) {
		dept = (int)((double)dept*1.05);

		if (dept % 1000 != 0) {

			dept = dept - (dept % 1000) + 1000;
		}





	}
	printf("%d\n", dept);

	//system("pause");
	return 0;
}

C++: #include<cstdio>

int main(){
	int n,k=100000;
	scanf("%d",&n);
	for(;n>=0;n--){
		k*=1.05;
		if(k%1000){
			k+=1000;
		}
		k=k-k%1000;
	}
	printf("%d",k);
	return 0;
}

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

int main(){
    int m;
    cin >> m;
    int n = 100000;
    for(int i=0;i<m;i++){
        n = n * 1.05;
		if(n%1000>0) n=n/1000*1000+1000;
    }

    cout << n;

	cin >> n;
    return 0;
}

C++: #include <iostream>
#include <cmath>

int main(void) {
    int n = 5;
    
    int64_t remain = 100000;
    
    for(int i = 0; i < n; i++) {
        remain *= 1.05;
        if(remain % 1000 > 0)
            remain = (remain - remain % 1000) + 1000;
    }
    
    std::cout << remain << std::endl;
}

C++: #define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include <algorithm>
#include <limits.h>
#include <cmath>
#include <time.h>
#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define SQR(X) ((X)*(X))
int test = 0;
/* ここからが本編 */
int main(void)
{
  int i,j,k,l;
  int rep = 100000;
  int n;
  cin >> n;
  rep(i,n) {
    ull a = rep;
    rep += rep*5/100/1000*1000;
    if( (a*5) % (1000*100)) {
      rep += 1000;
    }
  }
  cout << rep << endl;
  return 0;
}

C++: #include<iostream>

using namespace std;

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

C++: #include <iostream>

using namespace std;

int main() {
    int n;
    cin >> n;

    int debt = 100'000;

    while (n != 0) {
        debt *= 1.05;
        if (debt % 1000 != 0) {
            debt = (debt / 1000 + 1) * 1000;
        }
        --n;
    }

    cout << debt << endl;
}

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

int main(){
int n;
cin >> n;
int a;
a=100000;
int b;
b=0;
while(b<n){
a=a/20*21;
if((a%1000)!=0){a=a/1000*1000+1000;}
b=b+1;}
cout << a<<endl;
}

C++: main = do
    n <- readLn :: IO Int
    
    let debt x = 100 * ceiling $ x * 0.0105

    print $ iterate n debt x !! n

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

int main() {
double n; cin >> n;
double ret = 100000;
for(int i=0; i<n; i++) {
ret *= 1.05;
ret /= 1000;
ret = ceil(ret) * 1000;
}
cout << (int)ret << endl;
return 0;
}

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

int main(void){
    int i,n;
    double ans;
    cin >> n;
    ans=100.000;
    for(i=0;i<n;i++){
        ans*=1.05;
        ans=int(ans+0.999);
        ans=double(ans);
    }
    ans*=1000;
    ans=int(ans);
    cout << ans << endl;
    return 0;
}

C++: #include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>
#include<math.h>
#include<cstring>
using namespace std;
#define tax 1.05

int main(){
	double i,n,a=100000;
	cin>>n;
	for(i=0;i<n;i++){
		a*=tax;
		if((int)a%1000!=0){
			a=a-(int)a%1000+1000;
		}
	}
	cout<<(int)a<<endl;

    return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <string>

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

    int n;
    std::cin >> n;
    double loan = 100000;
    for(int i=0; i<n; ++i){
        loan *= 1.05;
        loan = std::ceil(loan/1000)*1000;
    }
    std::cout << std::fixed << std::setprecision(0) << loan << "\n";
    return 0;
}

C++: #include<cstdio>

int main() {
	int n;
	double debt=100000;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		debt = debt + debt*0.05;
	}
	debt = debt - (int)debt % 1000;
	debt = debt + 1000;
	printf("%d\n", (int)debt);

	return 0;
}

C++: #include<iostream>

using namespace std;


int main(void){

  int n;
  double money=100000;
  int i;

  cin >> n;

  for(i=0;i<n;i++){

    money*=1.05;
    money/=1000;
    money+=0.999;

    money=(int)money;
    money*=1000; 
    
    
    
  }



  cout << (int)money << endl;




  return 0;
}

C++: #include<iostream>

using namespace std;

int main(void){
  int n,a=100000;

  cin >> n;
  while(n--){
    a=a*5/100+a;
    if(a%1000){
      a/=1000;
      a=a*1000+1000;
    }
  }
  cout << a << endl;

  return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
	int n,i;
	unsigned long long kane=100000;
	cin>>n;
	for(i=0;i<n;i++){
		kane=kane*1.05;
	kane=((kane+999)/1000)*1000;
	}
	cout<<kane<<endl;
	return 0;
}