#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; #include using namespace atcoder; using mint = modint998244353; #define rep(i, n) for (ll i = 0; i < n; i++) #define ALL(a) (a).begin(), (a).end() void chmin(ll &a, ll b) { if (a > b) a = b; } void chmax(ll &a, ll b) { if (a < b) a = b; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int n, k, x; cin >> n >> k >> x; if (n >= 100) { cout << 967152772 << endl; return 0; } vector v(n); iota(ALL(v), 1); mint ans = 0, now = 0; do { if (v[k - 1] == x) ans += now; now++; } while (next_permutation(ALL(v))); cout << ans.val() << endl; return 0; }