#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1001001;
char s[N];
int n;
int main(){
	ios::sync_with_stdio(false);
	cin>>s;
	n=strlen(s);
	int l=0,r=0;
	int l0=0,r0=0;
	int l1=l-2;
	int r1=r+2;
	for(int i=0;i<n;i++){
		char c=s[i];
		if(c=='1'){
			l0++;
			r0++;
			if(l1!=l-2)l1++;
			if(r1!=r+2)r1++;
		}
		else if(c=='0'){
			l0--;
			r0--;
			if(l1!=l-2)l1--;
			if(r1!=r+2)r1--;
		}
		else{
			l0--;
			r0++;
			if(l1!=l-2)l1--;
			if(r1!=r+2)r1++;
		}
		int d=(r0-l0)%2==0?2:1;
		if(l0<l){
			l1=l0;
			l0+=d;
		}
		if(r0>r){
			r1=r0;
			r0-=d;
		}
		if(l0>r0){
			if(l1!=l-2&&r1!=r+2){
				l0=l1;
				r0=r1;
				if(l1<l){
					l--;
					r0--;
				}
				else{
					r++;
					l0++;
				}
				l1=l-2;
				r1=r+2;
			}
			else if(l1!=l-2){
				l--;
				l0=r0=l1;
				l1=l-2;
			}
			else{
				r++;
				l0=r0=r1;
				r1=r+2;
			}
		}
		// cerr<<l<<" "<<r<<" "<<l0<<" "<<r0<<" "<<l1<<" "<<r1<<endl;
	}
	int ans=r-l;
	cout<<ans<<endl;
	return 0;
}