Language: C++

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
#define vel vector<__int128>
#define int __int128
#define rep(i,n) for(__int128 i=0;i<n;i++)
#define sor(v) sort(v.begin(),v.end())
long long p = 998244353;
vel kai(2001,1);
vel ink(2001,1);
vel uni(vel &list) {
	if (list.size() == 0) { return list; }
	sort(list.begin(), list.end());
	vel ql(1, list[0]);
	rep(i, list.size() - 1) {
		if (list[i] != list[i + 1]) { ql.push_back(list[i + 1]); }
	}
	return ql;
}
int ru(int a, int r) {
	if (r == 0) { return 1; }
	int ans = ru(a, r / 2);
	ans *= ans; ans %= p;
	if (r % 2 == 1) { ans *= a; }
	return ans % p;
}
int inv(int a) {
	return ru(a, p - 2);
}
void make_kai() {
	rep(i, 2000) { kai[i + 1] = (kai[i] * (i + 1)) % p; }
	rep(i, 2001) { ink[i] = inv(kai[i]); }
}
int com(int n, int r) {
	return (((kai[n] * ink[r]) % p)*ink[n - r]) % p;
}
signed main() {
	make_kai();
	vel rui(2001, 1);
	rep(i, 2000) { rui[i + 1] = (rui[i] * 2)%p; }
	int n, k; cin >> k >> n;
	vel ans(2 * k - 1,0);
	for (int i = 2; i <= k + 1; i++) {
		int qans = 0;
		int pair = (i - 1) / 2;
		int ex = k - i + 1;
		rep(j, min(pair,n)+1) {
			int can_use = n - j;
			int can_pal = j + ex;
			if (can_pal != 0) {
				int pl = com(can_use + can_pal - 1, can_pal - 1)*com(pair, j);
				pl = ((pl%p)*rui[j]) % p;
				qans += pl;
				qans %= p;
			}
		}
		if (i % 2 == 0) {
			n--;
			rep(j, min(pair, n) + 1) {
				int can_use = n - j;
				int can_pal = j + ex;
				if(can_pal!=0) {
					int pl = com(can_use + can_pal - 1, can_pal - 1)*com(pair, j);
					pl = ((pl%p)*rui[j]) % p;
					qans += pl;
					qans %= p;
				}
			}
			n++;
		}
		ans[i - 2] = qans;
		ans[2 * k - i] = qans;
	}
	rep(i, 2 * k - 1) { cout << ans[i] << endl; }
	return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:43:23: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and '__int128')
   43 |         int n, k; cin >> k >> n;
      |                   ~~~ ^~ ~
      |                   |      |
      |                   |      __int128
      |                   std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42,
                 from a.cc:1:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'short int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'unsigned int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'long int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'long long int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:203:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  203 |       operator>>(unsigned long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:203:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'long long unsigned int&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:219:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  219 |       operator>>(float& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:219:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'float&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:223:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  223 |       operator>>(double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:223:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'double&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:227:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  227 |       operator>>(long double& __f)
      |       ^~~~~~~~
/usr/include/c++/14/istream:227:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: cannot bind non-const lvalue reference of type 'long double&' to a value of type '__int128'
   43 |         int n, k; cin >> k >> n;
      |                          ^
/usr/include/c++/14/istream:328:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  328 |       operator>>(void*& __p)
      |       ^~~~~~~~
/usr/include/c++/14/istream:328:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: invalid conversion from '__int128' to 'void*' [-fpermissive]
   43 |         int n, k; cin >> k >> n;
      |                          ^
      |                          |
      |                          __int128
a.cc:43:26: error: cannot bind rvalue '(void*)((long int)k)' to 'void*&'
/usr/include/c++/14/istream:122:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__istream_type& (*)(__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  122 |       operator>>(__istream_type& (*__pf)(__istream_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:122:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&)' {aka 'std::basic_istream<char>& (*)(std::basic_istream<char>&)'} [-fpermissive]
   43 |         int n, k; cin >> k >> n;
      |                          ^
      |                          |
      |                          __int128
/usr/include/c++/14/istream:126:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(__ios_type& (*)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>; __ios_type = std::basic_ios<char>]' (near match)
  126 |       operator>>(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/14/istream:126:7: note:   conversion of argument 1 would be ill-formed:
a.cc:43:26: error: invalid conversion from '__int128' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'} [-fpermissive]
   43 |         int n, k; cin >> k >> n;
      |                          ^
      |                          |
      |                          __int128
/