#pragma TASS input 
int L_BOUND;
#pragma TASS input 
int M_BOUND;
#pragma TASS input 
int N_BOUND;
#pragma TASS input {L>=0 && L<=L_BOUND} 
int L; 
#pragma TASS input {M>=0 && M<=M_BOUND} 
int M; 
#pragma TASS input  {N>=0 && N<=N_BOUND}
int N;
#pragma TASS input 
double a[N][L]; 
#pragma TASS input 
double b[L][M]; 
#pragma TASS output 
double c[N][M];

void vecmat(double vector[], double matrix[][], double result[]) {
	int j;
	int k;
	
	for (j = 0; j < M; j++) {
		result[j] = 0.0;
		for (k = 0; k < L; k++)
			result[j] += vector[k]*matrix[k][j];
	}
}

void main() {
	int i; int j; double temp[N][M];
	
	for (i = 0; i < N; i++)
		vecmat(a[i],b,temp[i]);
	for (i = 0; i < N; i++)
		for (j = 0; j < M; j++)
			c[i][j] = temp[i][j];
}
