#include int main(void){ int f[] = { 1, 3, 5, 17, 257, 65537}; int i,j; long long int m=1, n, tmp; int cnt=0; scanf("%lld", &n); for(i=0;i<30;i++){ for(j=0;j<32;j++){ // printf("%d %d %d %d %d %d\n", m, f[(j&1)*1], f[((j>>1)&1)*2], f[((j>>2)&1)*3], f[((j>>3)&1)*4], f[((j>>4)&1)*5]); tmp = m; tmp = tmp * f[(j&1)*1]; tmp = tmp * f[((j>>1)&1)*2]; tmp = tmp * f[((j>>2)&1)*3]; tmp = tmp * f[((j>>3)&1)*4]; tmp = tmp * f[((j>>4)&1)*5]; if( 2 < tmp && tmp <= n){ cnt++; } } m*=2; } printf("%d\n", cnt); return 0; }