#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

const int N=1048576; // 2^20
// const int N = 1048576 - 1024;
// const int N=1048000;
// const int N=824365;

const int ROWS=200;

int M[ROWS][N];

int main() {
  clock_t start,end;
  
  for (int i=0; i<ROWS; i++)
    for (int j=0; j<N; j++)
      M[i][j]=i+j+1;

  for (int r=1; r<ROWS; r+=1) {
    start = clock();
    int sum=0;
    
    int REP = ROWS / r;
    for (int k=0; k<REP; k++)
      for (int j=0; j<N; j++)
	for (int i=0; i<r; i++)
  	  sum+=M[i][j];
    
    end = clock();
    double time = (end - start) / (double)(CLOCKS_PER_SEC / 1000);
    cout << "r=" << r << " time=" << time/1000 << " time per row=" << (time/1000)/r/REP <<"  sum=" << sum << endl;
  };    
};
