Go: package main
import (
	"fmt"
	"os"
	"strconv"
	"bufio"
	"math"
)

var sc = bufio.NewScanner(os.Stdin)

func main(){
	sc.Split(bufio.ScanWords)
	n := nextInt()
	ans := calc(n)
	fmt.Println(int(ans))	// intにしないと指数つき表現になってしまう
}

func calc(n int) float64{
	tmp := 100000.0
	for i:=0; i<n; i++{
		tmp*=1.05
		tmp = Ceil(tmp, -3)
	}
	return tmp
}

func Ceil(f float64, places int) float64{
	shift := math.Pow(10, float64(places))
	return math.Ceil(f * shift)/shift
}

func next()string{
	sc.Scan()
	return sc.Text()
}

func nextInt()int{
	a, _ := strconv.Atoi(next())
	return a
}

C++: #include <bits/stdc++.h>
using namespace std;

#define iota(i,n,b,s) for(int i=int(b);i!=int((b)+(s)*(n));i+=(s))
#define range(i,n,m) iota(i,(((n)>(m))?((n)-(m)+1):((m)-(n)+1)),(n),((n)>(m)?-1:1))
#define rep(i,n) iota(i,(n),0,1)

#define INF (1e9)
#define EPS (1e-9)
#define cons(a,b) (make_pair(a,b))
#define car(a) (a.first)
#define cdr(a) (a.second)
#define cadr(a) (car(cdr(a)))
#define cddr(a) (cdr(cdr(a)))
#define all(a) a.begin(), a.end()
#define trace(var) cerr<<">>> "<<#var<<" = "<<var<<endl;

typedef long long Integer;
typedef double Real;

template<class S, class T>
ostream& operator<<(ostream& os, pair<S,T> p) {
  os << '(' << car(p) << ", " << cdr(p) << ')';
  return os;
}

template<class T>
ostream& operator<<(ostream& os, vector<T> v) {
  os << v[0];
  for (int i=1, len=v.size(); i<len; ++i) os << ' ' << v[i];
  return os;
}

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

int main() {

  int n; cin >> n;
  Real c = 100;
  while (n--) {
    c = ceil(c * 1.05);
  }
  cout << int(c) * 1000 << endl;

  return 0;
}

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

using namespace std;

int main(int argc, char const* argv[])
{
  int weeks;
  cin >> weeks;

  int debt = 100;
  for (int i = 0; i < weeks; i++) {
    debt = ceil(debt * 1.05);
  }

  cout << debt * 1000 << endl;
  return 0;
}

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

int main(){
	int n;
	cin >> n;
	int money = 100000;
	for(int i = 0; i < n; i++){
		money = money * 105 / 100;
		money = ((money + 999) / 1000) * 1000;
	}
	cout << money << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
 
int main(){
 int n;
 int money = 100000;
 
 for(int i = 0; i < n; ++i){
  money = money + (money * 0.05);
  if(money % 1000 != 0){
   money += 1000;
  }
 }
 cout << money << endl;
 return 0;
}

C++: //
//  main.cpp
//  CppTest
//
//  Created by Ryu on 2017/02/08.
//  Copyright ?? 2017??´ Ryu. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
using namespace std;

int main(int argc, const char * argv[]) {
    // insert code here...
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    long n = 0;
    cin >> n;
    
    long rest = 100000;
    for (int i = 0; i < n; i++) {
        rest *= 1.05;
        if(rest % 1000 != 0){
            rest = rest + 1000 -  rest % 1000;
        }
    }
    
    
    
    printf("%ld\n", rest);
    
    return 0;
}

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

int n;
double rent = 100000;

int main()
	{
		cin>>n;
		for(int i=0;i<n;i++)
		{
		 rent = rent *1.05 ;
		 rent = rent /1000;
		 rent = rent + 0.9;
		 rent = (int)rent;
		 rent *= 1000;
		}
		printf("%.0lf",rent);
		return 0;
	}

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

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

    long loan = 100000;

    for (int i = n; i > 0; i--) {
        loan = ceil((loan * 1.05) / 1000.0) * 1000;
    }

    cout << loan << '\n';
}

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

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

C++: #include <stdio.h>
#include <math.h>

int main()
{
    int n, i;
    float Kdebt = 100;
    
    scanf("%d", &n);
    
    for (i = 1; i <= n; i++) {
        Kdebt = ceil(Kdebt * 1.05);
    }
    
    printf("%d\n", (int)Kdebt * 1000);
    
    return 0;
}

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

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

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

using namespace std;

void keisan(int *n){
	int kari1,kari2;

	kari1 = *n * 1.05;
	if((kari1 % 1000) > 0) {
		kari2 = kari1 / 1000;
		*n = kari2 * 1000 + 1000;
	} else {
		*n = kari1;
	}
}

int main() {
	int syakkin = 100000;
	int a;

	cin >> a;

	for (int i = 0; i < a; i++){
		keisan(&syakkin);
	}

	cout << syakkin << endl;

	return 0;

}

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

int n;//n週間
double sum;//n週間後の借金

int main(){
  sum = 100000;
  scanf("%d",&n);
  for(int i= 0;i < n;i++){
    sum += 0.05*sum;
    sum = ceil(sum/1000)*1000;
}
  
  int ans =(int)sum;
  printf("%d",ans);
}

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

int main()
{
	int i, n;
	int money=100000;
	
	cin >> n;
	
	for(i=1; i<=n; i++){
		money *= 1.05;
		money = (money+999) / 1000 * 1000;
	}
	cout << money;
		
	return 0;
}

C++: #define scanf_s scanf
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
#define MAX 20
int main(void)
{
	int n, sum = 100000;
	scanf_s("%d", &n);
	for (int i = 0; i < n; ++i) {
		sum += sum * 0.05;
		if (sum % 1000 != 0) {
			sum += 1000 - sum % 1000;
		}
	}
	printf("%d\n", sum);
}

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

C++: #include <iostream>

using namespace std;

void solve()
{
	int N;
	cin >> N;
	double sum = 100000;
	for(int i = 0; i < N; ++i)
	{
		sum *= 1.05;
		double temp = (int)sum % 1000;
		if(temp)
		{
			sum += 1000 - temp; 
		}
	}
	cout << sum << endl;
}

int main()
{
	solve();
	return(0);
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
typedef long long int ll;

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

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

int main()
{
    int n = 0;                                          //n習慣
    int debt = 100000;                                  //10万借金

    cin >> n;                                           //入力

    for( int i = 0; i < n; i++ )                        //n回繰り返す
    {
        debt = debt * 1.05;                             //5%増える
        if( debt % 1000 != 0 )                     //1~999は切り上がる
            debt = ( debt / 1000 + 1 ) * 1000;
    }

    cout << debt;

    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
     int loan = 100000;
    int week;
    cin >> week;
    for(int i=0;i<week;i++) {
        loan *= 1.05;
    }
    double tmp = (double)loan / 10000;
    tmp += 0.5;
    loan = (int)tmp;
    loan *= 10000;
    cout << loan;
}

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

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin>>n;
    int d=100000;
    for(int i=0; i<n; i++) {
        d+=d/20;
        d+=999;
        d-=d%1000;
    }
    cout<<d<<'\n';
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

int main(){
	double n,i,tmp;
	double ans=100000;
	cin>>n;
	while(n--){
		ans *= 1.05;
		ans = ceil(ans/1000.0)*1000.0;

	}
	cout<<ans<<endl;
	return 0;
}

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