#include <iostream>
#include <string>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
string s;
cin >> s;
// Count winning substrings that are entirely '0' (length >= 2).
long long ans = 0;
long long cnt = 0;
for (int i = 0; i < n; i++){
if (s[i] == '0')
cnt++;
else {
if (cnt > 0){
ans += cnt * (cnt - 1LL) / 2; // Each maximal block of zeros contributes L*(L-1)/2.
cnt = 0;
}
}
}
if (cnt > 0)
ans += cnt * (cnt - 1LL) / 2;
// Count substrings of length 3 that are winning due to circular adjacency.
// These substrings have exactly two zeros (so that even if they aren't consecutive linearly,
// the zeros are adjacent in the circular view).
for (int i = 0; i <= n - 3; i++){
int zeros = 0;
zeros += (s[i] == '0');
zeros += (s[i+1] == '0');
zeros += (s[i+2] == '0');
if (zeros == 2)
ans++;
}
cout << ans << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmludCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogCiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgc3RyaW5nIHM7CiAgICBjaW4gPj4gczsKIAogICAgLy8gQ291bnQgd2lubmluZyBzdWJzdHJpbmdzIHRoYXQgYXJlIGVudGlyZWx5ICcwJyAobGVuZ3RoID49IDIpLgogICAgbG9uZyBsb25nIGFucyA9IDA7CiAgICBsb25nIGxvbmcgY250ID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKICAgICAgICBpZiAoc1tpXSA9PSAnMCcpCiAgICAgICAgICAgIGNudCsrOwogICAgICAgIGVsc2UgewogICAgICAgICAgICBpZiAoY250ID4gMCl7CiAgICAgICAgICAgICAgICBhbnMgKz0gY250ICogKGNudCAtIDFMTCkgLyAyOyAvLyBFYWNoIG1heGltYWwgYmxvY2sgb2YgemVyb3MgY29udHJpYnV0ZXMgTCooTC0xKS8yLgogICAgICAgICAgICAgICAgY250ID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGlmIChjbnQgPiAwKQogICAgICAgIGFucyArPSBjbnQgKiAoY250IC0gMUxMKSAvIDI7CiAKICAgIC8vIENvdW50IHN1YnN0cmluZ3Mgb2YgbGVuZ3RoIDMgdGhhdCBhcmUgd2lubmluZyBkdWUgdG8gY2lyY3VsYXIgYWRqYWNlbmN5LgogICAgLy8gVGhlc2Ugc3Vic3RyaW5ncyBoYXZlIGV4YWN0bHkgdHdvIHplcm9zIChzbyB0aGF0IGV2ZW4gaWYgdGhleSBhcmVuJ3QgY29uc2VjdXRpdmUgbGluZWFybHksCiAgICAvLyB0aGUgemVyb3MgYXJlIGFkamFjZW50IGluIHRoZSBjaXJjdWxhciB2aWV3KS4KICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG4gLSAzOyBpKyspewogICAgICAgIGludCB6ZXJvcyA9IDA7CiAgICAgICAgemVyb3MgKz0gKHNbaV0gPT0gJzAnKTsKICAgICAgICB6ZXJvcyArPSAoc1tpKzFdID09ICcwJyk7CiAgICAgICAgemVyb3MgKz0gKHNbaSsyXSA9PSAnMCcpOwogICAgICAgIGlmICh6ZXJvcyA9PSAyKQogICAgICAgICAgICBhbnMrKzsKICAgIH0KIAogICAgY291dCA8PCBhbnMgPDwgIlxuIjsKICAgIHJldHVybiAwOwp9