小L 手中有 n 块长方形的木板,它们的编号从 1 到 n,第 i 块木板高 1 个单位,长 ⌈2i⌉ 个单位。
⌈2i⌉ 表示 i 除以 2 的结果,并且向上取整保留整数。例如,⌈24⌉=2,⌈25⌉=⌈2.5⌉=3。
假设现在 n=5,那么他拥有的木块大小分别是:1×1,1×1,1×2,1×2,1×3,如图所示:

现在,请你计算一下,在不旋转任何一个木板的情况下,小L 使用这些木板能拼出的正方形的最大边长是多少?(可以有木板剩余。)
使用 1 到 5 号木板最多可以拼出 3×3 的正方形,下图演示了方法之一:

输入描述
输入只有一行,一个正整数 n,表示 小L 拥有的木块数量。
输出描述
输出只有一行,表示 小L 可以拼出的正方形的最大边长。
用例输入 1
5
用例输出 1
3
用例输入 2
4
用例输出 2
2
提示
【样例 1 说明】
见题面。
【样例 2 说明】
可以用两个 1×2 的木块拼出 2×2 的正方形,剩下的木块不可能再拼出 3×3 或者更大的正方形了。
【数据范围】
对于 30% 的测试点,保证 1≤n≤20。
对于全部的测试点,保证 1≤n≤1012。