#include <bits/stdc++.h>
using namespace std;
template <typename T>
void __read(T &a) {
  cin >> a;
}
template <typename T, typename... Args>
void __read(T &a, Args &...args) {
  cin >> a;
  __read(args...);
}
constexpr long long M7 = 1000000007;
constexpr long long M9 = 1000000009ll;
constexpr long long MFFT = 998244353ll;
constexpr long long E6 = 1000000ll;
constexpr long long E9 = 1000000000ll;
constexpr long long INF = 2000000000000000000ll;
template <class T>
void outv(T &a) {
  for (auto &x : a) cout << x << ' ';
}
void solve() {
  long long t;
  __read(t);
  while (t--) {
    long long n, m;
    __read(n, m);
    vector<vector<bool> > a(n, vector<bool>(m));
    for (long long i = 0; i < n; ++i) {
      string str;
      __read(str);
      for (long long j = 0; j < m; ++j) {
        a[i][j] = str[j] == '0' ? false : true;
      }
    }
    vector<long long> res;
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x1 && x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
        } else if (x1 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
        } else if (x1 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 2; ++i) {
      for (long long j = 0; j < m; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i + 2][j];
        bool x3 = a[i + 1][j];
        bool x4;
        if (j + 1 < m) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        } else {
          x4 = a[i + 1][j - 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n; ++i) {
      for (long long j = 0; j < m - 2; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 2];
        bool x3 = a[i][j + 1];
        bool x4;
        if (i + 1 < n) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        } else {
          x4 = a[i - 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (!x1 && !x2 && !x3 && !x4) {
          continue;
        } else if (x1 && x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    cout << res.size() / 6 << '\n';
    for (long long i = 0; i < res.size(); i += 6) {
      cout << res[i] + 1 << ' ';
      cout << res[i + 1] + 1 << ' ';
      cout << res[i + 2] + 1 << ' ';
      cout << res[i + 3] + 1 << ' ';
      cout << res[i + 4] + 1 << ' ';
      cout << res[i + 5] + 1 << '\n';
    }
  }
}
signed main(signed argc, char **argv) {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  if (argc > 1 && (string)argv[1] == "local") {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    long long i = 1;
    clock_t start_time, end_time;
    cout << "/////Test #" << i << "/////\n";
    start_time = clock();
    solve();
    end_time = clock();
    long double seconds_pass =
        (long double)(end_time - start_time) / CLOCKS_PER_SEC;
    cout << "\n//Time: ";
    cout << setprecision(15) << seconds_pass << '\n';
    while (cin.peek() != -1) {
      ++i;
      cout << '\n';
      cout << '\n';
      cout << "/////Test #" << i << "/////\n";
      start_time = clock();
      solve();
      end_time = clock();
      seconds_pass = (long double)(end_time - start_time) / CLOCKS_PER_SEC;
      cout << "\n//Time: ";
      cout << setprecision(15) << seconds_pass << '\n';
    }
  } else {
    solve();
  }
  return 0;
}

### Prompt

Generate a Cpp solution to the following problem:

This is the easy version of the problem. The difference between the versions is in the number of possible operations that can be made. You can make hacks if and only if you solved both versions of the problem.

You are given a binary table of size n × m. This table consists of symbols 0 and 1.

You can make such operation: select 3 different cells that belong to one 2 × 2 square and change the symbols in these cells (change 0 to 1 and 1 to 0).

Your task is to make all symbols in the table equal to 0. You are allowed to make at most 3nm operations. You don't need to minimize the number of operations.

It can be proved that it is always possible.

Input

The first line contains a single integer t (1 ≤ t ≤ 5000) — the number of test cases. The next lines contain descriptions of test cases.

The first line of the description of each test case contains two integers n, m (2 ≤ n, m ≤ 100).

Each of the next n lines contains a binary string of length m, describing the symbols of the next row of the table.

It is guaranteed that the sum of nm for all test cases does not exceed 20000.

Output

For each test case print the integer k (0 ≤ k ≤ 3nm) — the number of operations.

In the each of the next k lines print 6 integers x_1, y_1, x_2, y_2, x_3, y_3 (1 ≤ x_1, x_2, x_3 ≤ n, 1 ≤ y_1, y_2, y_3 ≤ m) describing the next operation. This operation will be made with three cells (x_1, y_1), (x_2, y_2), (x_3, y_3). These three cells should be different. These three cells should belong into some 2 × 2 square.

Example

Input


5
2 2
10
11
3 3
011
101
110
4 4
1111
0110
0110
1111
5 5
01011
11001
00010
11011
10000
2 3
011
101


Output


1
1 1 2 1 2 2
2 
2 1 3 1 3 2
1 2 1 3 2 3
4
1 1 1 2 2 2 
1 3 1 4 2 3
3 2 4 1 4 2
3 3 4 3 4 4
4
1 2 2 1 2 2 
1 4 1 5 2 5 
4 1 4 2 5 1
4 4 4 5 3 4
2
1 3 2 2 2 3
1 2 2 1 2 2

Note

In the first test case, it is possible to make only one operation with cells (1, 1), (2, 1), (2, 2). After that, all symbols will be equal to 0.

In the second test case:

  * operation with cells (2, 1), (3, 1), (3, 2). After it the table will be: 
    
          
    011  
    001  
    000  
    

  * operation with cells (1, 2), (1, 3), (2, 3). After it the table will be: 
    
          
    000  
    000  
    000  
    




In the fifth test case:

  * operation with cells (1, 3), (2, 2), (2, 3). After it the table will be: 
    
          
    010  
    110  
    

  * operation with cells (1, 2), (2, 1), (2, 2). After it the table will be: 
    
          
    000  
    000  
    

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
template <typename T>
void __read(T &a) {
  cin >> a;
}
template <typename T, typename... Args>
void __read(T &a, Args &...args) {
  cin >> a;
  __read(args...);
}
constexpr long long M7 = 1000000007;
constexpr long long M9 = 1000000009ll;
constexpr long long MFFT = 998244353ll;
constexpr long long E6 = 1000000ll;
constexpr long long E9 = 1000000000ll;
constexpr long long INF = 2000000000000000000ll;
template <class T>
void outv(T &a) {
  for (auto &x : a) cout << x << ' ';
}
void solve() {
  long long t;
  __read(t);
  while (t--) {
    long long n, m;
    __read(n, m);
    vector<vector<bool> > a(n, vector<bool>(m));
    for (long long i = 0; i < n; ++i) {
      string str;
      __read(str);
      for (long long j = 0; j < m; ++j) {
        a[i][j] = str[j] == '0' ? false : true;
      }
    }
    vector<long long> res;
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x1 && x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; j += 1) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (x1 && x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
        } else if (x1 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j] = false;
        } else if (x1 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j] = false;
        } else if (x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j + 1] = false;
          a[i + 1][j + 1] = false;
        } else if (x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    for (long long i = 0; i < n - 2; ++i) {
      for (long long j = 0; j < m; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i + 2][j];
        bool x3 = a[i + 1][j];
        bool x4;
        if (j + 1 < m) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        } else {
          x4 = a[i + 1][j - 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            res.push_back(i + 2);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j);
            res.push_back(i + 1);
            res.push_back(j - 1);
            a[i][j] = false;
            a[i + 2][j] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n; ++i) {
      for (long long j = 0; j < m - 2; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 2];
        bool x3 = a[i][j + 1];
        bool x4;
        if (i + 1 < n) {
          x4 = a[i + 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i + 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        } else {
          x4 = a[i - 1][j + 1];
          if (x1 && x2) {
            res.push_back(i);
            res.push_back(j);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            res.push_back(i);
            res.push_back(j + 2);
            res.push_back(i);
            res.push_back(j + 1);
            res.push_back(i - 1);
            res.push_back(j + 1);
            a[i][j] = false;
            a[i][j + 2] = false;
          }
        }
      }
    }
    for (long long i = 0; i < n - 1; ++i) {
      for (long long j = 0; j < m - 1; ++j) {
        bool x1 = a[i][j];
        bool x2 = a[i][j + 1];
        bool x3 = a[i + 1][j];
        bool x4 = a[i + 1][j + 1];
        if (!x1 && !x2 && !x3 && !x4) {
          continue;
        } else if (x1 && x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3 && x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x3 && x4) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x1) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x2) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x3) {
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        } else if (x4) {
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j);
          res.push_back(i + 1);
          res.push_back(j + 1);
          res.push_back(i);
          res.push_back(j);
          res.push_back(i);
          res.push_back(j + 1);
          res.push_back(i + 1);
          res.push_back(j + 1);
          a[i][j] = false;
          a[i][j + 1] = false;
          a[i + 1][j] = false;
          a[i + 1][j + 1] = false;
        }
      }
    }
    cout << res.size() / 6 << '\n';
    for (long long i = 0; i < res.size(); i += 6) {
      cout << res[i] + 1 << ' ';
      cout << res[i + 1] + 1 << ' ';
      cout << res[i + 2] + 1 << ' ';
      cout << res[i + 3] + 1 << ' ';
      cout << res[i + 4] + 1 << ' ';
      cout << res[i + 5] + 1 << '\n';
    }
  }
}
signed main(signed argc, char **argv) {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  if (argc > 1 && (string)argv[1] == "local") {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    long long i = 1;
    clock_t start_time, end_time;
    cout << "/////Test #" << i << "/////\n";
    start_time = clock();
    solve();
    end_time = clock();
    long double seconds_pass =
        (long double)(end_time - start_time) / CLOCKS_PER_SEC;
    cout << "\n//Time: ";
    cout << setprecision(15) << seconds_pass << '\n';
    while (cin.peek() != -1) {
      ++i;
      cout << '\n';
      cout << '\n';
      cout << "/////Test #" << i << "/////\n";
      start_time = clock();
      solve();
      end_time = clock();
      seconds_pass = (long double)(end_time - start_time) / CLOCKS_PER_SEC;
      cout << "\n//Time: ";
      cout << setprecision(15) << seconds_pass << '\n';
    }
  } else {
    solve();
  }
  return 0;
}

```