import java.util.*;
import java.io.*;

public class P2 {
	public static void main(String[] args) throws IOException {
		File inputFile = new File("DATA2.txt");
		Scanner readingFile = new Scanner(inputFile);
		ArrayList inputs = new ArrayList();
		ArrayList outputs = new ArrayList();
		File outputFile = new File("OUT2.txt");
		FileWriter writingFile = new FileWriter(outputFile);
		BufferedWriter writingToFile = new BufferedWriter(writingFile);
		int numWas;
		int numChecked = 1;
		int numIsOld = 0;
		boolean flag = false;
		int numIs = 1;
		double n = 0;
		int numCheck = 0;
		
		while (readingFile.hasNextLine()) {
			inputs.add(readingFile.nextLine());
		}
		for (int i = 0; i < inputs.size(); i++) {
			numWas = Integer.valueOf(inputs.get(i).toString());
			n = 0;
			numCheck = 0;
			flag = false;
			numChecked = 1;
			numIs = 1;
			numIsOld = 0;
			if (numWas == 0) {
				outputs.add(1);
			} else if (numWas == 3) {
				outputs.add(4);
			} else {
				while (flag == false) {
					if (numIsOld == numIs) {
						numIs = 1;
					}
					for (int f = 0; f < n; f++) {
						numIs = numIs * 2;
					}
					numCheck = numWas - numIs;
					if (numCheck < 0) {
						numCheck = numCheck * -1;
						if (numCheck < numChecked) {
							outputs.add(numIs);
						} else {
							outputs.add(numIsOld);
						}
						flag = true;
					} else {
						numChecked = numCheck;
						numIsOld = numIs;
					}
					n = n + 1;
				}
			}
		}
		for (int i = 0; i < outputs.size(); i++) {
			writingToFile.write(outputs.get(i).toString());
			writingToFile.newLine();
		}
		writingToFile.close();
	}
}
