class Run {
    
    static int [][] amul (int n, int [][] a, int [][] b) {
	int [][] res = new int [n][n];
	for (int i = 0; i<n; i++) {
	    for (int k = 0; k<n; k++) {
		int s = 0;
		for (int j = 0; j<n; j++) {
		    s += a[i][j] * b[j][k];
		}
		res [i][k] = s;
	    }
	}
	return res;
    }

    static int [][] fill (int n) {
	int [][] res = new int [n][n];
	java.util.Random r = new java.util.Random();
	for (int i=0; i<n; i++) {
	    for (int j=0; j<n; j++) {
		res[i][j] = r.nextInt(10);
	    }
	}
	return res;
    }
    
    public static void main (String [] argv) {
	final int n = 1000;
	int [][] a = fill (n);
	int [][] b = fill (n);
	int [][] c = amul (n,a,b);
    }
}
