#include <iostream>

using namespace std;

void solve(int N, int M, int S) {
    int dp[2][M+1][S+1];

    dp[0][0][0]=0;
    dp[1][0][0]=0;
    for(int j=1; j<=M; ++j) {
        dp[0][j][0]=0;
        dp[1][j][0]=0;
        for(int k=1; k<=S; ++k) {
            dp[1][j][k]=(k<=j?1:0);
            dp[0][j][k]=0;
        }
    }
    for(int i=2; i<=N*N; ++i) {
        dp[i%2][0][0]=0;
        for(int j=1; j<=M; ++j) {
            for(int k=1; k<=S; ++k) {
                if(i>j) dp[i%2][j][k]=0;
                else if(k<i*(i+1)/2) dp[i%2][j][k]=0;
                else if(k-j<=0) dp[i%2][j][k]=dp[i%2][j-1][k];
                else dp[i%2][j][k]=dp[i%2][j-1][k]+dp[(i-1)%2][j-1][k-j];
                dp[i%2][j][k]%=100000;
            }
        }
    }

    cout << dp[(N*N)%2][M][S] << endl;

    return;
}

int main() {
    int N,M,S;
    while(true) {
        cin >> N >> M >> S;
        if(N==0 && M==0 && S==0) break;
        solve(N,M,S);
    }
    return 0;
}
