import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import static java.util.Collections.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int L = 1;
while(L*2 <= N)
{
L *= 2;
}
if (L == N)
{
System.out.println(N);
return;
}
int M = N - L;
System.out.println(2*M);
/*
1 -> 1
2 -> 2
3 -> 2 2
4 -> 4 2 4 //짝수일땐 앞에거 버리고 시작
5 -> 2 2 4 //홀수일땐 앞에거 아래로 내리고 시작
6 -> 4 2 4 6
7 -> 6 2 4 6
8 -> 8 2 4 6 8
9 -> 2 2 4 6 8
10 -> 4 2 4 6 8 10
11 -> 4 2 4 6 8 10
12 -> 8 2 4 6 8 10 12
13 -> 10 2 4 6 8 10 12
14 -> 12 2 4 6 8 10 12 14
15 -> 14 2 4 6 8 10 12 14
16 -> 16 2 4 6 8 10 12 14 16
2의 제곱수는 2의 제곱수가 나온다.
*/
}
}
여기서 2의 제곱수가 아닌 값은 N과 가장 인접한 2의 제곱수 빼기 곱하기 2이다.