import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;

class Main {


	public static void main(String[] args) {

		// ストリームを作成する
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));

		int week = readNumber(reader);
		BigDecimal debt = BigDecimal.valueOf(100000);
		for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		}
		System.out.println(debt.toPlainString());

	}

	/**
	 * ストリームから1行読み込んで、数値として返す。
	 *
	 * @param reader
	 *            入力ストリーム
	 * @return 数値
	 */
	private static int readNumber(BufferedReader reader) {
		int result = 0;
		try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return result;
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.math.BigDecimal; BigDecimal java.math class Main {


	public static void main(String[] args) {

		// ストリームを作成する
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));

		int week = readNumber(reader);
		BigDecimal debt = BigDecimal.valueOf(100000);
		for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		}
		System.out.println(debt.toPlainString());

	}

	/**
	 * ストリームから1行読み込んで、数値として返す。
	 *
	 * @param reader
	 *            入力ストリーム
	 * @return 数値
	 */
	private static int readNumber(BufferedReader reader) {
		int result = 0;
		try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return result;
	}
} Main public static void main(String[] args) {

		// ストリームを作成する
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));

		int week = readNumber(reader);
		BigDecimal debt = BigDecimal.valueOf(100000);
		for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		}
		System.out.println(debt.toPlainString());

	} main {

		// ストリームを作成する
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));

		int week = readNumber(reader);
		BigDecimal debt = BigDecimal.valueOf(100000);
		for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		}
		System.out.println(debt.toPlainString());

	} BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in)); reader new BufferedReader(new InputStreamReader(
				System.in)) int week = readNumber(reader); week readNumber(reader) readNumber reader BigDecimal debt = BigDecimal.valueOf(100000); debt BigDecimal.valueOf(100000) BigDecimal.valueOf BigDecimal 100000 for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		} int i = 0; int i = 0; i 0 i < week i week i++ i++ i {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		} {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		} debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP) debt debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP) debt.multiply(BigDecimal.valueOf(1.05)).setScale debt.multiply(BigDecimal.valueOf(1.05)) debt.multiply debt BigDecimal.valueOf(1.05) BigDecimal.valueOf BigDecimal 1.05 -3 3 BigDecimal.ROUND_UP BigDecimal BigDecimal.ROUND_UP System.out.println(debt.toPlainString()) System.out.println System.out System System.out debt.toPlainString() debt.toPlainString debt String[] args args /**
	 * ストリームから1行読み込んで、数値として返す。
	 *
	 * @param reader
	 *            入力ストリーム
	 * @return 数値
	 */
	private static int readNumber(BufferedReader reader) {
		int result = 0;
		try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return result;
	} readNumber {
		int result = 0;
		try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return result;
	} int result = 0; result 0 try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		} catch (IOException e) {
			throw new RuntimeException();
		} IOException e {
			throw new RuntimeException();
		} throw new RuntimeException(); new RuntimeException() {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} String line = reader.readLine(); line reader.readLine() reader.readLine reader result = Integer.parseInt(line) result Integer.parseInt(line) Integer.parseInt Integer line return result; result BufferedReader reader reader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;

class Main {


	public static void main(String[] args) {

		// ストリームを作成する
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));

		int week = readNumber(reader);
		BigDecimal debt = BigDecimal.valueOf(100000);
		for (int i = 0; i < week; i++) {
			// 5%の利子を追加し、1000円未満は切り捨て
			debt = debt.multiply(BigDecimal.valueOf(1.05)).setScale(-3, BigDecimal.ROUND_UP);
		}
		System.out.println(debt.toPlainString());

	}

	/**
	 * ストリームから1行読み込んで、数値として返す。
	 *
	 * @param reader
	 *            入力ストリーム
	 * @return 数値
	 */
	private static int readNumber(BufferedReader reader) {
		int result = 0;
		try {
			String line = reader.readLine();
			result = Integer.parseInt(line);
		} catch (IOException e) {
			throw new RuntimeException();
		}
		return result;
	}
}