#include using namespace std; using Int8 = int8_t; using Int16 = int16_t; using Int32 = int32_t; using Int64 = int64_t; using Int128 = __int128_t; using Word8 = uint8_t; using Word16 = uint16_t; using Word32 = uint32_t; using Word64 = uint64_t; using Word128 = __uint128_t; using Int = int_fast64_t; using Word = uint_fast64_t; using F32 = float; using F64 = double; using F80 = long double; using VS = vector; using VVS = vector>; using VB = vector; using VVB = vector>; using VI = vector; using VW = vector; using VVI = vector>; using VVW = vector>; using PII = pair; using PWW = pair; using VPII = vector>; using VPWW = vector>; #define LOOP(n) for(Int _ipiewnsjiw=0; _ipiewnsjiw<(n); _ipiewnsjiw++) #define REP(i,n) for(Int i=0, i##_len=(n); i> N; set S; for (int mask = 0; mask < 32; mask++) { Int x = 1; REP(i,5) if (mask >> i & 1) x *= fer[i]; while (x <= N) { if (x >= 3) S.insert(x); x *= 2; } } cout << S.size() << '\n'; return 0; }