#include <bits/stdc++.h>
using namespace std;
constexpr int mod = 3210121;
int main() {
if (fopen("cowfood.in", "r")) {
freopen("cowfood.in", "r", stdin);
freopen("cowfood.out", "w", stdout);
}
ios::sync_with_stdio(false);
cin.tie(nullptr);
int k, s, n;
cin >> k >> s >> n;
vector<vector<int>> a(n, vector<int>(k));
for (int i = 0; i < n; i++)
for (int j = 0; j < k; j++)
cin >> a[i][j];
int64_t ans = 0;
for (int mask = 0; mask < (1 << n); mask++) {
vector<int> b(k, 0);
int bits = 0;
for (int i = 0; i < n; i++)
if (mask & (1 << i)) {
bits++;
for (int j = 0; j < k; j++)
b[j] = max(b[j], a[i][j]);
}
int64_t ways = 1;
int sum = 0;
for (int j = 0; j < k; j++) {
int limit = s - sum;
if (limit < b[j]) {
ways = 0;
break;
}
ways = ways * (limit - b[j] + 1) % mod;
sum += b[j];
}
if (bits % 2 == 0)
ans = (ans + ways) % mod;
else
ans = (ans - ways + mod) % mod;
}
cout << ans << '\n';
return 0;
}