#include<string>
#include<iostream>

using namespace std;

bool isCross(int l,int r){
	if(l==1 || l==4 || l==7)	return false;
	if(l==2 || l==8)	return (r==1 || r==4 || r==7);
	return !(r==3 || r==6 || r==9);
}

int main(){
	for(string s;cin>>s,s!="#";){
		int len=s.length();
		for(int i=0;i<len;i++)	s[i]-='0';

		int lcnt=0;
		bool lflg=false;
		for(int i=1;i<len;i++){
			if(lflg){
				if(isCross(s[i],s[i-1]))	lcnt++;
				else	lflg=!lflg;
			}
			else{
				if(isCross(s[i-1],s[i]))	lcnt++;
				else	lflg=!lflg;
			}
		}

		int rcnt=0;
		bool rflg=false;
		for(int i=1;i<len;i++){
			if(rflg){
				if(isCross(s[i-1],s[i]))	rcnt++;
				else	rflg=!rflg;
			}
			else{
				if(isCross(s[i],s[i-1]))	rcnt++;
				else	rflg=!rflg;
			}
		}

		cout<<min(lcnt,rcnt)<<endl;
	}

	return 0;
}