import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	} main {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int targetNumber = sc.nextInt(); targetNumber sc.nextInt() sc.nextInt sc int max_dividing = 0; max_dividing 0 int max_number = 1; max_number 1 for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		} int i = 1; int i = 1; i 1 i <= targetNumber i targetNumber i++ i++ i { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		} { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		} int ExTargetNumber = i; ExTargetNumber i int manyOfdividing = 0; manyOfdividing 0 while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			} true { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			} if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				} ExTargetNumber % 2 == 0 && ExTargetNumber >0 ExTargetNumber % 2 == 0 ExTargetNumber % 2 ExTargetNumber 2 0 ExTargetNumber >0 ExTargetNumber 0 {
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				} ExTargetNumber = ExTargetNumber / 2 ExTargetNumber ExTargetNumber / 2 ExTargetNumber 2 manyOfdividing++ manyOfdividing {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				} if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					} max_dividing < manyOfdividing max_dividing manyOfdividing {
						max_dividing = manyOfdividing;
						max_number = i;
					} max_dividing = manyOfdividing max_dividing manyOfdividing max_number = i max_number i break; System.out.println(max_number) System.out.println System.out System System.out max_number String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); //入力
		int targetNumber = sc.nextInt();  //ターゲットの数字
		int max_dividing = 0; //今までの中で一番割る回数が多かった回数
		int max_number = 1; //今までの中で一番割る回数が多かった数字


		for(int i = 1; i <= targetNumber; i++) { //一つ一つの数字について、まとめる。
			int ExTargetNumber = i;
			int manyOfdividing = 0; //それぞれの数字の割る回数を格納
			while(true) { //一つ一つの数字に対して、割る回数を計算し、暫定の最大割る回数の数字を格納
				if(ExTargetNumber % 2 == 0 && ExTargetNumber >0){
					ExTargetNumber = ExTargetNumber / 2;
					manyOfdividing++;
				}else {
					if(max_dividing < manyOfdividing) {
						max_dividing = manyOfdividing;
						max_number = i;
					}
					break;
				}
			}
		}
		System.out.println(max_number);
	}
}