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

C++: #include <map>
#include <string>
#include <iostream>
#include<vector>
#include <set>
#include<math.h>
#include<algorithm>

using namespace std;

int main()
{
	int n, amount=100;
	cin >> n;
	
	for (int i=0; i<n; i++)
	{
		amount += amount * 0.05 + 0.999;
	}
	
	cout << amount*100 << endl;
}

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

int main() {
    int n;
    cin >> n;
    int A=pow(10,5);
    for (int i=0; i<n; i++) {
        A*=(1.05);
        A=(A+999)/1000*1000;
    }
    printf("%d\n",A);
    return 0;
}

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

int main(void){
	int n;
	int debt = 100;
	cin >> n;
	for(int i=0;i<n;i++){
		debt = ceil(debt*1.05);
	}
	cout << debt*1000 << endl;
	return 0;
}

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

using namespace std;

int main() {
    int n;
    double debt = 100000;

    cin >> n;

    for(int i = 0;i < n;i++){
        debt *= 1.05;
    }

    debt /=10000;
    debt +=0.5;

    cout << int (debt) * 10000 << endl; 

    return 0;
}

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

int main()
{
    int n, d = 100000;
    cin >> n;
    for(; n-- ;)
    {
       if((d + d*5/100)%1000 == 0) d = d + d*5/100;
       else
       {
            d = d + d*5/100 + (1000-(d + d*5/100)%1000);
       }
    }
    cout << d;
}

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

// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0007&lang=jp

int main() {
	int n;
	cin >> n;
	int p = 100000;
	int ans = p;
	for (int i = 0; i < n; i++) {
		ans += p * 0.05;
	}
	int trunc = (ans / 10000) * 10000;
	cout << (trunc == ans ? ans : trunc + 10000) << endl;
	return 0;
}

C++: #include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
typedef long long ll;

ll calcDebt(ll debt)
{
    double buff;
    buff = (double) debt;
    buff = buff * 1.05;
    buff = ceil(buff / 1000) * 1000;
    return (ll) buff;
}

int main()
{
    int n;
    ll debt = 100000;
    cin >> n;
    for(int c = 0; c < n; c++)
        debt = calcDebt(debt);
    cout << debt << endl;
    return EXIT_SUCCESS;
}

C++: #include <iostream> //üoÍ
#include <cmath>

using namespace std;

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

	cout << money << endl;
	
	return 0;
}

C++: #include"iostream"
using namespace std;


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

C++: #include <iostream>

int main(){
        int n;
        std::cin >> n;
        double result=100;
        for(int i=n;i;i--){
                result*=1.05;
                result=(int)(result+0.9);
        }

        result*=1000;
        std::cout << (int)result << std::endl;

        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*=1.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++: //01
#include<iostream>

using namespace std;

int main(){
  int d[101]={100000};
  for(int i=1;i<=100;i++){
    d[i]=d[i-1]+d[i-1]/20;
    if(d[i]%1000){
      d[i]=(d[i]/1000+1)*1000;
    }
  }
  for(int n;cin>>n;){
    cout<<d[n]<<endl;
  }
  return 0;
}

C++: /*
 * http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0007
 */
#include <iostream>
#include <cmath>

using namespace	std;

#define INITIAL 100000
#define INTEREST 1.05
#define CEILING 1000

int
dow(int a, float r, int w)
{
	if (w == 0)
		return a;
	float c = a / CEILING;
	return dow(ceil(c * r) * CEILING, r, --w);
}

int
main()
{
	int w;
	cin >> w;
	cout << dow(INITIAL, INTEREST, w) << endl;
	return 0;
}

C++: #include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>

using namespace std;

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

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

int main() {
	int loan = 100000;
	int hoge = loan * 0.05;
	int n;
	std::cin >> n;

	for (int i = 0; i < n; i++)
		loan += hoge;
	
	if (loan % 10000 < 5000)
		loan = loan / 10000 * 1000;
	else
		loan = loan / 10000 * 10000 + 10000;
	
	std::cout << loan << std::endl;
}

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

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

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

int main(){
  int n;
  double debt = 10000;
  cin >> n;
  for(int i = 0; i < n; i++){
    debt *= 1.05;
  }
  int result = (int) debt;
  result /= 1000;
  result++;
  result *= 1000;
  cout << result << endl;
}

C++: #include <cstdio>

#define PRINCIPAL 100000
#define RATE 1.05
#define ROUND_UNIT 1000

int main(void)
{
  int n;
  unsigned long debt = PRINCIPAL;

  std::scanf("%d\n", &n);

  for (int i = 0; i < n; i++) {
    debt = debt * RATE;
    debt = (debt + (ROUND_UNIT - 1)) / ROUND_UNIT * ROUND_UNIT;
  }

  std::printf("%lu\n", debt);
  
  return 0;
}

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

int main()
{
	int n;
	int cash = 100000;
	const double rate = 1.05;

	cin >> n;

	for( int i = 0; i < n; ++i ){
		cash = ( int )( cash * rate );
		if( cash % 1000 ){
			cash = ( cash / 1000 + 1 ) * 1000;
		}
	}

	cout << cash;

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int n,ans=100000;
  cin >>n;
  while(n--){
    ans = (int)(ans*1.05);
    if(ans>(ans/1000)*1000) ans = (ans/1000)*1000+1000;
  }
  cout <<ans<<endl;
  return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;
inline int ceil(double x, double base) {
    return ceil(x / base) * base;
}
int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);

    int n; cin >> n;
    double s = 100000;
    while (n--) {
        s = ceil(s * 1.05, 1000);
    }
    cout << int(s) << "\n";

    return 0;
}

C++: #include <math.h>
#include <iostream>
#include <ios>
#include <iomanip>
#include <algorithm>
#include <functional>
#include <string>

#define YES "YES"
#define NO "NO"
#define space ' '

using namespace std;

void func();

int main(void)
{
	
	func();

	return 0;
}


void func()
{
	int n, debt;

	debt = 100000;

	cin >> n;
	while (n-- > 0)
	{
		debt = debt + debt*0.05;
		if (debt % 1000 > 0)
			debt += 1000 - debt % 1000;

		
	}
	cout << debt << endl;
}

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

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

	unsigned long long debt = 100000;
	while(n--)
	{
		debt += debt * 0.05;
		if(debt % 1000)
			debt += 1000 - debt % 1000;
	}

	cout << debt << endl;

	return 0;
}

C++: #include<stdio.h>
#include<iostream>
using#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
  int n=0;
  int m=100000;
  cin>>n;
  for(int i=0;i<n;i++){
	  m=m*1.05;
	  if(m%1000!=0){
		  m=m+1000;
	  }
  }
  cout<<m<<endl;

  return 0;
}