编程题
### 问题描述
上体育课时,$n$ 个同学按顺序排成一排,初始时第 $i$ 个位置的同学,编号为 $i$ (从 $1$ 开始)。
老师下令:“单数同学出列!”,然后位置为单数的同学出列,剩下的同学重新按位置开始排列,编号不变。
老师又下令:“单数同学出列!”,新的单数位置的同学出列,剩下的同学继续重新按位置排列。
如此下去,最后只剩下一个人,他的编号是多少?
### 输入格式
输入仅一行,包含一个整数 $n$。
### 输出格式
输出仅一行,包含一个整数,表示最后剩下的人的编号。
### 样例输入
```text
7
```
### 样例输出
```text
4
```
### 说明
在样例中,初始队伍为:`1, 2, 3, 4, 5, 6, 7`。
第一次出列后,队伍变为:`2, 4, 6`。
第二次出列后,队伍变为:`4`。
队伍只剩最后一个人,编号为 `4`。
### 评测数据规模
对于 $50$% 的评测数据,$1\leq n \leq 1\times 10^5$。
对于 $100$% 的评测数据,$1\leq n \leq 1\times 10^9$。