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(ans)
}

func calc(n int) float64{
	tmp := 100000.0
	for i:=0; i<n; i++{
		tmp+=tmp*0.05
	}
	return Round(tmp, -4)
}

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

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

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

C++: #include<iostream>
using namespace std;
int main(){
	int a=100000,n;
	cin>>n;
	for(int i=0;i<n;i++){
		a=a*21/20;
		if(a%1000>0){
			a=a/1000;
			a=a+1;
			a=a*1000;
		}
	}
	cout<<a<<endl;
}

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

int main()
{
	int n;
	double debt = 10, risi = 0.05;

	cin >> n;
	for(int i = 0;i < n;i++){
		debt += debt * risi;
		debt = ceil(debt);
	}

	//debt = ceil(debt) * 10000;
	cout << debt*10000 << endl;

	return 0;
}

C++: #include <iostream>
using namespace std;
int main(void) {
    int n,total = 100000,plus = 0;
    cin >> n;
    for (int i = 0; i < n; i++) {
        plus = 0.05 * total;
        if (plus % 1000)     plus = (plus / 1000 + 1) * 1000;
    total += plus;
    }
    cout << total << endl;
}

C++: #include <iostream>                                                                                                       
                                                                                                                          
using namespace std;                                                                                                      
                                                                                                                          
int main() {                                                                                                              
  const int m = 100000;                                                                                                   
  int t;                                                                                                                  
  int n;                                                                                                                  
                                                                                                                          
  t = m;                                                                                                                  
  while (cin >> n) {                                                                                                      
    for (int i = 0; i < n; i++) {                                                                                         
      t = t + t * 0.05;                                                                                                   
      if (t % 1000 > 0) {                                                                                                 
        t = t + (1000 - t % 1000); // 切り上げ                                                                            
      }                                                                                                                   
    }                                                                                                                     
    cout << t << endl;                                                                                                    
  }                                                                                                                       
}

C++: #include <stdio.h>
 
using namespace std;
 
 
int main(){
    int debt = 100000,n;
    scanf("%d",&n);
 
    for(int i=0;i<n;i++){
        debt=(debt/100)*105;
        if((debt%1000)>0){
            debt+=(1000-(debt%1000));
        }
    }
 
    printf("%d\n",debt);
 
    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    unsigned 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 <bits/stdc++.h>
//#include <iostream>
//#include <Windows.h>
using namespace std;

int main(){
int n;
double a=100;
cin>>n;
while(n--){
	a+=a*5/100;
        a=ceil(a);
}
cout<<a*1000<<endl;
return 0;
}

C++: #include <iostream>

int next_weeks_debt(int current) {
  current *= 1.05;
  int mod = current % 1000;
  if (mod != 0) { current += 1000 - mod; }
  return current;
}

int main() {
  int weeks;
  std::cin >> weeks;

  int current = 100000;
  for (int i = 0; i < weeks; ++i) {
    current = next_weeks_debt(current);
  }

  std::cout << current;

  return 0;
}

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

int main()
{
	int n;
	double debt = 10;
	const double risi = 0.05;

	cin >> n;
	for(int i = 0;i < n;i++)
		debt += debt * risi;
	
	cout << ceil(debt) * 10000;

	return 0;
}

C++: #include<iostream>

using namespace std;

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

C++: #include <iostream>

using namespace std;

int roundup(int d)
{
	int r = (d % 1000 > 0) ? 1 : 0;
	d /= 1000; d += r;
	return d * 1000;
}

int main()
{
	int debt = 100000;
	int n;
	cin >> n;
	
	for (int i=0; i<n; i++) {
		debt += (debt/20);
		debt = roundup(debt);
	}
	
	cout << debt << endl;
	
	return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<ll> VL;
typedef vector<VL> VVL;
typedef pair<int, int> PII;

#define FOR(i, a, n) for (ll i = (ll)a; i < (ll)n; ++i)
#define REP(i, n) FOR(i, 0, n)
#define ALL(x) x.begin(), x.end()
#define MP make_pair
#define PB push_back
#define MOD 1000000007
#define INF (1LL<<30)
#define LLINF (1LL<<60)
#define PI 3.14159265359
#define EPS 1e-12
#define int ll

signed main(void)
{
  int n, a = 100;
  cin >> n;
  REP(i, n) {
    a = ceil(a*1.05);
    //cout << a << endl;
  }
  cout << a*1000 << endl;
  return 0;
}

C++: #include <iostream>

using namespace std;

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

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

  cout << debt << endl;

  return 0;
}

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

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

C++: #include<iostream>

using namespace std;

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

C++: #include <stdio.h>

int main(void){
int n;
scanf("%d",&n);
int coin=100000;
for(int m=0;m<n;m++){
coin+=coin*0.05;
coin=(coin/1000)*1000+(coin%1000)>0? 1000:0;
}
printf("%d\n",coin);
return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
using uint = unsigned int;
using lint = long long int;
using ulint = unsigned long long int;
template<class T = int> using V = vector<T>;
template<class T = int> using VV = V< V<T> >;
template<class T, class U> void assign(V<T>& v, int n, const U& a) { v.assign(n, a); }
template<class T, class... Args> void assign(V<T>& v, int n, const Args&... args) { v.resize(n); for (auto&& e : v) assign(e, args...); }


lint ceilll(lint a, lint b) {
  return (a + b - 1) / b;
}

int main() {
  cin.tie(nullptr); ios_base::sync_with_stdio(false);
  int n; cin >> n;
  lint a = 1e5;
  for (int _ = 0; _ < n; ++_) {
    a = ceilll(21 * a, 20 * 1000) * 1000;
  }
  cout << a << '\n';
}