#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int maxn = 600000;
static int dp[maxn];

int main() {
    int N;
    cin >> N;
    string s;
    cin >> s;

    int last = -1;
    for (int i = 2; i < N; i++) {
        dp[i + 1] = dp[i];
        if (s[i - 2] == '1' and s[i - 1] == '0' and s[i] == '1') {
            last = i - 2;
            for (int j = i - 2; j >= 0; j--) {
                if (s[j] == '0') break;
                dp[i + 1] = max(dp[i + 1], dp[j] + i - j - 1);
            }
        } else if (s[i] == '0') {
            last = -1;
        }

        if (last >= 0) {
            dp[i + 1] = max(dp[i + 1], dp[last] + i - last - 1);
        }
    }
    cout << dp[N] << endl;

    return 0;
}