#include #include using namespace std; using namespace atcoder; using ll = long long; using vc = vector; using vvc = vector>; using u64 = uint64_t; using pqi = priority_queue; using dqi = deque; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define llrep(i, n) for (LL i = 0; i < (int)(n); i++) #define nrep(i, s, n) for (int i = s; i < n; i++) #define drep(i, n) for (int i = (n) - 1; i >= 0; i--;) #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define pb push_back #define mp make_pair #define int long long const int INF = 1e17; const double pi = 3.14159265358979; const int mod = 998244353; const int MOD = 1000000007; using mint = modint998244353; //sni:tmp,pi,vvc,no,NO,yes,YES,vi,keta,pq,gpq signed main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; cin >> n; mint k = n; mint ans = k+3; ans *= (k+2); ans /= 6; cout << ans.val() << endl; }