#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i, n) for(i = 0; i < n; i++) #define int long long using namespace std; using namespace atcoder; using mint = modint998244353; signed main() { int n; cin >> n; vector bcnt(n + 1); for (int i = 0; i <= n; i++) { for (int j = 0; j < 20; j++) { if ((i >> j) % 2) bcnt[i]++; } } int ans = 0; for (int a = 0; a <= n; a++) { for (int b = a; b <= n; b++) { if (bcnt[a] == bcnt[b]) ans += a & b; } } ans %= 998244353; cout << ans << endl; return 0; }