This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define maxn 100005
#define ll long long int
ll n, k;
vector<int> chess[maxn];
void solve_k0(){
	ll minimo = 999999;
	for(int i = 1; i < n; i++){
		if(n % i != 0) continue;
		int test = i*i;
		minimo = min(minimo, ((n*n/test)/2)*test);
	}
	cout << minimo << endl;
}
ll block(ll number, ll siz){
	return ((n-1)/siz + 1)%2;
}
ll solve_square(ll siz){
	ll cont = 0;
	for(int i = 1; i <= n; i++){
		ll cont_errado = 0, cont_certo = 0;
		for(int j = 0; j < chess[i].size(); j++){
			//if((i+j)%2 == chess[i][j]) cont_errado++;
			int row = chess[i][j];
			if(block(i, siz) == block(row, siz)) cont_certo++;
			else cont_errado++;
		}
		cont += cont_errado	+ ((n/siz)/2)*siz + block(i, siz)*siz - cont_certo;
	}
	return min(cont, n*n - cont);
}
int main(){
	memset(chess, 0, sizeof chess);
	cin >> n >> k;
	if(k == 0) solve_k0();
	else{
		for(int i = 0; i < k; i++){
			int x, y, l, m;
			cin >> x >> y;
			cin >> l >> m; //8)
			chess[x].push_back(y);
		}
		ll minimo = 999999999999;
		for(ll i = 1; i < n; i++){
			if(n%i == 0) minimo = min(minimo, solve_square(i));
		}
	}
	return 0;
}
Compilation message (stderr)
chessboard.cpp: In function 'long long int solve_square(long long int)':
chessboard.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |   for(int j = 0; j < chess[i].size(); j++){
      |                  ~~^~~~~~~~~~~~~~~~~| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |