#include <iostream>
#include<vector>
#include<unordered_map>
using namespace std;

int main() {
	vector<int> nums = {1,3,2,4};
	int k = 4;
	int n = nums.size();                  

	unordered_map<int,int> m;
	vector<int> prefix(n + 1, 0);         
	int count = 0;

	for(int i = 1; i < n; i++) {         
    	prefix[i] = prefix[i-1] + nums[i];
	}

	m[0] = 1;                             

	for(int j = 1; j <= n; j++) {         
    	int RHS = ((prefix[j] - j) % k + k) % k;      

    	count += m[RHS];

    	int LHS = ((prefix[j-1] - j) % k + k) % k;  
    	m[LHS]++;
	}

	cout << count;
	return 0;
}