#include <bits/stdc++.h>
#define LL long long
#define ULL unsigned long long
#define RI register int
#define MOD 998244353
using namespace std;
ULL ans = 0, n = 0, temp = 0;
int main()
{
scanf("%lld", &n);
if (n == 1)
{
ans = 1;
}
else if (n == 2)
{
ans = 3;
}
else
{
n -= 2;
ULL num = 2;
ans = 3;
for (ULL i = 3; n > 0; ++i)
{
if (n >= num)
{
ans = (ans + (num * i) % MOD) % MOD;
n -= num;
num *= 2;
}
else
{
ans = (ans + (n * i) % MOD) % MOD;
n = 0;
}
}
}
printf("%lld\n", ans);
return 0;
}