#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define int long long
#define ull unsigned long long
#define fi first
#define se second
#define SZ(x) ((int)(x).size())
#define ALL(x) (x).begin(), (x).end()
#define MASK(i) ((1LL)<<(i))
#define GETBIT(x,i) (((x)>>(i))&1)
#define TURNOFF(x,i) ((x)&(~(1<<i)))
#define CNTBIT(x) __builtin_popcount(x)
#define LOG 20
#define MASK(i) ((1LL)<<(i))
#define EL cout << "\n"
#define FU(i, a, b) for(int i=a; i<=b; i++)
#define FD(i, a, b) for(int i=a; i>=b; i--)
#define REP(i, x) for(int i=0; i<x; i++)
#define REPD(i, x) for(int i=x-1; i>=0; i--)
const int MAX = 1e3 + 5;
const int mod = 1e9 + 9;
const int base = 31;
const int INF = 1e9 + 7;
typedef pair<int, int> ii;
#define task "team"
void init()
{
if (fopen(task".inp","r"))
{
freopen(task".inp","r",stdin);
freopen(task".out","w",stdout);
}
else if (fopen(task".in", "r"))
{
freopen(task".in", "r", stdin);
freopen(task".out", "w", stdout);
}
}
void fastio()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
}
int dx[]={0,1,0,-1,1,1,-1,-1};
int dy[]={1,0,-1,0,1,-1,1,-1};
template<class X, class Y> bool maximize(X &x, Y y){ if (x < y) {x = y; return true;} return false;};
template<class X, class Y> bool minimize(X &x, Y y){ if (x > y) {x = y; return true;} return false;};
void add(int &x, int y) { x += y; if (x>=mod) x-=mod;}
void sub(int &x, int y) { x -= y; if (x<0) x+=mod;}
int mul(int x, int y) {return 1LL * x * y % mod;}
int calPw(int x, int y)
{
int ans = 1;
while(y)
{
if (y&1) ans = 1LL * ans * x % mod;
x = 1LL * x * x % mod;
y >>= 1;
}
return ans;
}
int N, M, K;
int a[MAX], b[MAX], dp[MAX][MAX][12];
void read()
{
cin >> N >> M >> K;
FU(i, 1, N) cin >> a[i];
FU(i, 1, M) cin >> b[i];
}
void sol()
{
sort(a+1, a+N+1);
sort(b+1, b+M+1);
FU(i, 0, N) FU(j, 0, M) dp[i][j][0] = 1;
FU(i, 1, N) FU(j, 1, M) FU(k, 1, K)
{
dp[i][j][k] = (dp[i-1][j][k] + dp[i][j-1][k] - dp[i-1][j-1][k] + mod) % mod;
if (a[i] > b[j]) add(dp[i][j][k], dp[i-1][j-1][k-1]);
}
cout << dp[N][M][K];
}
signed main()
{
fastio();
init();
int TEST = 1;
//cin >> TEST;
while(TEST--)
{
read();
sol();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgU1ooeCkgKChpbnQpKHgpLnNpemUoKSkKI2RlZmluZSBBTEwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIE1BU0soaSkgKCgxTEwpPDwoaSkpCiNkZWZpbmUgR0VUQklUKHgsaSkgKCgoeCk+PihpKSkmMSkKI2RlZmluZSBUVVJOT0ZGKHgsaSkgKCh4KSYofigxPDxpKSkpCiNkZWZpbmUgQ05UQklUKHgpIF9fYnVpbHRpbl9wb3Bjb3VudCh4KQojZGVmaW5lIExPRyAyMAojZGVmaW5lIE1BU0soaSkgKCgxTEwpPDwoaSkpCiNkZWZpbmUgRUwgY291dCA8PCAiXG4iCiNkZWZpbmUgRlUoaSwgYSwgYikgZm9yKGludCBpPWE7IGk8PWI7IGkrKykKI2RlZmluZSBGRChpLCBhLCBiKSBmb3IoaW50IGk9YTsgaT49YjsgaS0tKQojZGVmaW5lIFJFUChpLCB4KSBmb3IoaW50IGk9MDsgaTx4OyBpKyspCiNkZWZpbmUgUkVQRChpLCB4KSBmb3IoaW50IGk9eC0xOyBpPj0wOyBpLS0pCmNvbnN0IGludCBNQVggPSAxZTMgKyA1Owpjb25zdCBpbnQgbW9kID0gMWU5ICsgOTsKY29uc3QgaW50IGJhc2UgPSAzMTsKY29uc3QgaW50IElORiA9IDFlOSArIDc7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CgojZGVmaW5lIHRhc2sgInRlYW0iCnZvaWQgaW5pdCgpCnsKICAgIGlmIChmb3Blbih0YXNrIi5pbnAiLCJyIikpCiAgICB7CiAgICAgICAgZnJlb3Blbih0YXNrIi5pbnAiLCJyIixzdGRpbik7CiAgICAgICAgZnJlb3Blbih0YXNrIi5vdXQiLCJ3IixzdGRvdXQpOwogICAgfQogICAgZWxzZSBpZiAoZm9wZW4odGFzayIuaW4iLCAiciIpKQogICAgewogICAgICAgZnJlb3Blbih0YXNrIi5pbiIsICJyIiwgc3RkaW4pOwogICAgICAgZnJlb3Blbih0YXNrIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9Cn0KCnZvaWQgZmFzdGlvKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7Cn0KaW50IGR4W109ezAsMSwwLC0xLDEsMSwtMSwtMX07CmludCBkeVtdPXsxLDAsLTEsMCwxLC0xLDEsLTF9Owp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPiBib29sIG1heGltaXplKFggJngsIFkgeSl7IGlmICh4IDwgeSkge3ggPSB5OyByZXR1cm4gdHJ1ZTt9IHJldHVybiBmYWxzZTt9Owp0ZW1wbGF0ZTxjbGFzcyBYLCBjbGFzcyBZPiBib29sIG1pbmltaXplKFggJngsIFkgeSl7IGlmICh4ID4geSkge3ggPSB5OyByZXR1cm4gdHJ1ZTt9IHJldHVybiBmYWxzZTt9Owp2b2lkIGFkZChpbnQgJngsIGludCB5KSB7IHggKz0geTsgaWYgKHg+PW1vZCkgeC09bW9kO30Kdm9pZCBzdWIoaW50ICZ4LCBpbnQgeSkgeyB4IC09IHk7IGlmICh4PDApIHgrPW1vZDt9CmludCBtdWwoaW50IHgsIGludCB5KSB7cmV0dXJuIDFMTCAqIHggKiB5ICUgbW9kO30KaW50IGNhbFB3KGludCB4LCBpbnQgeSkKewogICAgaW50IGFucyA9IDE7CiAgICB3aGlsZSh5KQogICAgewogICAgICAgIGlmICh5JjEpIGFucyA9IDFMTCAqIGFucyAqIHggJSBtb2Q7CiAgICAgICAgeCA9IDFMTCAqIHggKiB4ICUgbW9kOwogICAgICAgIHkgPj49IDE7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CmludCBOLCBNLCBLOwppbnQgYVtNQVhdLCBiW01BWF0sIGRwW01BWF1bTUFYXVsxMl07CnZvaWQgcmVhZCgpCnsKICAgY2luID4+IE4gPj4gTSA+PiBLOwogICBGVShpLCAxLCBOKSBjaW4gPj4gYVtpXTsKICAgRlUoaSwgMSwgTSkgY2luID4+IGJbaV07Cn0Kdm9pZCBzb2woKQp7CiAgIHNvcnQoYSsxLCBhK04rMSk7CiAgIHNvcnQoYisxLCBiK00rMSk7CiAgIEZVKGksIDAsIE4pIEZVKGosIDAsIE0pIGRwW2ldW2pdWzBdID0gMTsKICAgRlUoaSwgMSwgTikgRlUoaiwgMSwgTSkgRlUoaywgMSwgSykKICAgewogICAgICBkcFtpXVtqXVtrXSA9IChkcFtpLTFdW2pdW2tdICsgZHBbaV1bai0xXVtrXSAtIGRwW2ktMV1bai0xXVtrXSArIG1vZCkgJSBtb2Q7CiAgICAgIGlmIChhW2ldID4gYltqXSkgYWRkKGRwW2ldW2pdW2tdLCBkcFtpLTFdW2otMV1bay0xXSk7CiAgIH0KICAgY291dCA8PCBkcFtOXVtNXVtLXTsKfQpzaWduZWQgbWFpbigpCnsKICAgIGZhc3RpbygpOwogICAgaW5pdCgpOwogICAgaW50IFRFU1QgPSAxOwogICAgLy9jaW4gPj4gVEVTVDsKICAgIHdoaWxlKFRFU1QtLSkKICAgIHsKICAgICAgICByZWFkKCk7CiAgICAgICAgc29sKCk7CiAgICB9Cn0K