#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long MOD = 1000000007; long long s = 0, d = 0; void dfs( long long a, int depth, int r ) { if ( a > 2147483647 ) { return; } if ( r == 0 ) { d += 30-depth+1; s += a*( static_cast( pow( 2, 30-depth+1 ) ) - 1 ); return; } dfs( a*2, depth+1, r ); dfs( a*2+1, depth+1, r-1 ); } int main() { long long x; cin >> x; dfs( 1, 0, x-1 ); cout << d << " " << s << endl; return 0; }