#include <stdio.h>
typedef struct{
int left;
int right;
} vi_tri;
int main()
{
vi_tri vitri;
int arr[200002];
int prefix_sum[200002];
int luu[200002];
int dodai
; scanf("%d", &dodai
); prefix_sum[0] = 0;
long long dem = 0;
for (int i = 1; i <= dodai; ++i){
prefix_sum[i] = prefix_sum[i - 1] + arr[i];
if(prefix_sum[i] % dodai == 0) dem++;
if(i > 1){
for(int j = 1; j < i; ++j){
if((prefix_sum[j] - prefix_sum[i]) % dodai == 0) dem++;
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdHsKICBpbnQgbGVmdDsKICBpbnQgcmlnaHQ7Cn0gdmlfdHJpOwoKaW50IG1haW4oKQp7CiAgdmlfdHJpIHZpdHJpOwogIGludCBhcnJbMjAwMDAyXTsKICBpbnQgcHJlZml4X3N1bVsyMDAwMDJdOwogIGludCBsdXVbMjAwMDAyXTsKICBpbnQgZG9kYWk7IHNjYW5mKCIlZCIsICZkb2RhaSk7CiAgcHJlZml4X3N1bVswXSA9IDA7CiAgbG9uZyBsb25nIGRlbSA9IDA7CiAgCiAgZm9yIChpbnQgaSA9IDE7IGkgPD0gZG9kYWk7ICsraSl7CiAgICBzY2FuZigiJWQiLCBhcnIraSk7CiAgICBwcmVmaXhfc3VtW2ldID0gcHJlZml4X3N1bVtpIC0gMV0gKyBhcnJbaV07CiAgICBpZihwcmVmaXhfc3VtW2ldICUgZG9kYWkgPT0gMCkgZGVtKys7CiAgICBpZihpID4gMSl7CiAgICAgIGZvcihpbnQgaiA9IDE7IGogPCBpOyArK2opewogICAgICAgIGlmKChwcmVmaXhfc3VtW2pdIC0gcHJlZml4X3N1bVtpXSkgJSBkb2RhaSA9PSAwKSBkZW0rKzsKICAgICAgfQogICAgfQogIH0KCiAgcHJpbnRmKCIlZCIsIGRlbSk7Cn0g