#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[]) {
  int n, i, j, k;
  double *M, *Mt;
  double r;
  if (argc!=2) {
    printf("Need one argument.\n");
    return EXIT_FAILURE;
  }
  n=atoi(argv[1]);
  M=malloc(n*n*sizeof(double));
  Mt=malloc(n*n*sizeof(double));
  for (i=0; i<n; i++) {
    for (j=0; j<n; j++) {
      M[i*n+j]=i+j+2.5;
      Mt[j*n+i]=i+j+2.5;
    }
  }
  r=0;
  for (i=0; i<n; i++) {
    for (j=0; j<n; j++) {
      for (k=0; k<n; k++) {
	r+=M[i*n+k]*Mt[j*n+k];
      }
    }
  }
  printf("%f\n",r);
  return EXIT_SUCCESS;
}
