using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Linq; using System.IO; class Program { static private Magatro M = new Magatro(); static private void Main(string[]args) { M.Scan(); M.Solve(); } } public class Scanner { private string[] S; private int Index; private char Separator; public Scanner(char separator = ' ') { Index = 0; Separator = separator; S = new string[0]; } private string[] Line() { return Console.ReadLine().Split(Separator); } public string Next() { string result; if (Index >= S.Length) { S = Line(); Index = 0; } result = S[Index]; Index++; return result; } public int NextInt() { return int.Parse(Next()); } public double NextDouble() { return double.Parse(Next()); } public long NextLong() { return long.Parse(Next()); } } public class Magatro { private int A; readonly long[] F = new long[] { 3, 5, 17, 257, 65537 }; public void Scan() { Scanner sc = new Scanner(); A = sc.NextInt(); } public void Solve() { int cnt = 0; int loop = 1 << 5; for(int i = 0; i < loop; i++) { int cp = i; long s = 1; for(int j = 0; j < 5; j++) { if (cp % 2 == 1) { s *= F[j]; } cp /= 2; } for(int j = 1; true; j *= 2) { if (A < s * j) { break; } cnt++; } } Console.WriteLine(cnt-2); } }