#include <bits/stdc++.h>   using namespace std;   const long long mod = 1e9 + 7;   const long double pi = acos(-1.0);   const long double eps = 1e-9;   const int MAX_SIZE = 50;   const int dX[] = {-1, 1, 0, 0, -1, 1, -1, 1};   const int dY[] = {0, 0, -1, 1, 1, -1, -1, 1};   template <class S, class T>   ostream& operator<<(ostream& o, const pair<S, T>& a) {     o << a.first <<     << a.second;     return o;   }   template <class S, class T>   ostream& operator<<(ostream& o, const map<S, T>& a) {     for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)       o << (*it) <<   n ;     return o;   }   template <class S>   ostream& operator<<(ostream& o, const vector<S>& a) {     for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)       o << *it <<    ;     return o;   }   template <class S>   ostream& operator<<(ostream& o, const vector<vector<S> >& a) {     for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++) {       o << (*it) <<   n ;     }     return o;   }   template <class S>   ostream& operator<<(ostream& o, const set<S>& a) {     for (typeof((a).begin()) it = (a).begin(); it != (a).end(); it++)       o << *it <<    ;     return o;   }   const long long MAX = 2005;   int a[MAX][MAX];   long long diagl[MAX * 2], diagr[MAX * 2];   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     ;     int i, j, n, x1, y1, x2, y2;     long long val, max1 = 0, max2 = 0;     scanf( %d , &n);     for (i = (0); (((1) > 0) - ((1) < 0)) * i < (((1) > 0) - ((1) < 0)) * (n);          i += (1)) {       for (j = (0); (((1) > 0) - ((1) < 0)) * j < (((1) > 0) - ((1) < 0)) * (n);            j += (1)) {         scanf( %d , &a[i][j]);         diagl[i + j] += a[i][j];         diagr[n - (i - j) - 1] += a[i][j];       }     }     for (i = (0); (((1) > 0) - ((1) < 0)) * i < (((1) > 0) - ((1) < 0)) * (n);          i += (1)) {       for (j = ((i % 2));            (((2) > 0) - ((2) < 0)) * j < (((2) > 0) - ((2) < 0)) * (n);            j += (2)) {         val = diagl[i + j] + diagr[n - (i - j) - 1] - a[i][j];         if (val >= max1) {           max1 = val;           x1 = i + 1;           y1 = j + 1;         }       }       for (j = ((1 - (i % 2)));            (((2) > 0) - ((2) < 0)) * j < (((2) > 0) - ((2) < 0)) * (n);            j += (2)) {         val = diagl[i + j] + diagr[n - (i - j) - 1] - a[i][j];         if (val >= max2) {           max2 = val;           x2 = i + 1;           y2 = j + 1;         }       }     }     printf( %I64 d n%d %d %d %d , max1 + max2, x1, y1, x2, y2);     return 0;   }   