#include<bits/stdc++.h>
#define all(vec) vec.begin(),vec.end()
using namespace std;
using ll=long long;
using P=pair<int,int>;
int main(){
    int n;cin>>n;
    string s;cin>>s;
    vector<vector<int>> v(n+10);
    for(int i=0;i<n;i++){
        if(s[i]=='1'){
           if(i>1&&s[i-1]=='0'){
			   int id=i-2;
			   while(id>=0&&s[id]=='1'){
				   v[i+1].push_back(id+1);
				   id--;
			   }
		   }
		   if(i<n-2&&s[i+1]=='0'){
			   int id=i+2;
			   while(id<n&&s[id]=='1'){
				   v[id+1].push_back(i+1);
				   id++;
			   }
		   }
			   
	   }
    }
    vector<int> dp(n+10),ma(n+10);
    for(int r=1;r<=n;r++){
		for(auto l:v[r]){
			int c=r-l-1;
			dp[r]=max(dp[r],ma[l-1]+c);
		}
		ma[r]=max(ma[r-1],dp[r]);
	}
    cout<<ma[n]<<endl;
}
