#include <fstream>
#include <climits>
using namespace std;
const int MOD = 3210121;
ifstream in;
ofstream ou;
short k, s, n, experiment[25][35];
int main()
{
in.open("cowfood.in");
ou.open("cowfood.out");
in >> k >> s >> n;
for (short i = 0; i < n; i++)
{
for (short j = 0; j < k; j++)
{
in >> experiment[i][j];
}
}
int r = 0;
for (int bitmask = 1; bitmask < (1 << n); bitmask++)
{
int curr = 1;
for (short j = 0; j < k; j++)
{
short curmax = SHRT_MAX;
for (short i = 0; i < n; i++)
{
if ((bitmask >> i) & 1)
curmax = min(curmax, experiment[i][j]);
}
curr = (1ll * curr * curmax) % MOD;
}
curr--;
if (!(n % 2))
curr = -curr;
for (short i = 0; i < n; i++)
if ((bitmask >> i) & 1)
curr = -curr;
//ou << bitmask << " " << curr << "\n";
curr += MOD;
curr %= MOD;
r += curr;
r += MOD;
r %= MOD;
}
ou << r;
return 0;
}