#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.1415926535898;
const long long INF = LLONG_MAX;
const long long MOD = 1000000007;
long long mod = 998244353;
long long a[1001][1001];
map<long long, vector<pair<long long, long long> > > ma;
long long dp[1001][1001];
long long power_m(long long a, long long b, long long m) {
  long long res = 1;
  long long curr = a % m;
  while (b > 0) {
    if (b & 1) {
      res = (res * curr) % m;
    }
    b = b >> 1;
    curr = (curr * curr) % m;
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  long long n, m, p, q;
  cin >> n >> m;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) cin >> a[i][j];
  cin >> p >> q;
  long long val = a[p][q];
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      if (a[i][j] < val) ma[a[i][j]].push_back({i, j});
    }
  }
  ma[val].push_back({p, q});
  long long x = 0, b = 0, c = 0, d = 0, e = 0, curr, tot = 0;
  for (auto p : ma) {
    auto v = p.second;
    long long inv;
    if (tot == 0)
      inv = -1;
    else
      inv = power_m(tot, mod - 2, mod);
    for (int i = 0; i < v.size(); i++) {
      auto p = v[i];
      dp[p.first][p.second] = 0;
      if (inv != -1) {
        dp[p.first][p.second] += (x * inv) % mod;
        dp[p.first][p.second] %= mod;
        dp[p.first][p.second] += (p.first * p.first) % mod;
        dp[p.first][p.second] %= mod;
        dp[p.first][p.second] += (p.second * p.second) % mod;
        dp[p.first][p.second] %= mod;
        dp[p.first][p.second] += (b * inv) % mod;
        dp[p.first][p.second] %= mod;
        dp[p.first][p.second] += (c * inv) % mod;
        dp[p.first][p.second] %= mod;
        dp[p.first][p.second] -=
            (((2LL * d * inv) % mod * p.first) % mod) % mod;
        dp[p.first][p.second] %= mod;
        if (dp[p.first][p.second] < 0) dp[p.first][p.second] += mod;
        dp[p.first][p.second] -=
            (((2LL * e * inv) % mod * p.second) % mod) % mod;
        dp[p.first][p.second] %= mod;
        if (dp[p.first][p.second] < 0) dp[p.first][p.second] += mod;
      }
    }
    for (int i = 0; i < v.size(); i++) {
      auto p = v[i];
      tot++;
      x += dp[p.first][p.second];
      x %= mod;
      b += (p.first * p.first) % mod;
      b %= mod;
      c += (p.second * p.second) % mod;
      c %= mod;
      d += p.first;
      d %= mod;
      e += p.second;
      e %= mod;
    }
  }
  cout << dp[p][q] << "\n";
}
