#include<bits/stdc++.h>
#define f first
#define s second
#define mp make_pair
using namespace std;

string g="01234567";
int x[4]={4,-4,1,-1};

bool in(int a){
  if(0<=a && a<=7)return true;
  return false;
}

int main()
{
  char c;
  string s;

  while(cin>>c){
    s=c;
    for(int i=0;i<7;i++){
      cin>>c;
      s+=c;
    }

    queue<pair<string,int> > q;
    set<string> st;
    q.push(mp(s,0));
    st.insert(s);
    int ans=0;
    while(!q.empty()){
      pair<string,int> u=q.front();
      q.pop();
      if(u.f==g){
	ans=u.s;
	break;
      }

      for(int i=0;i<8;i++){
	if(u.f[i]=='0'){
	  for(int j=0;j<4;j++){
	    if((i==3 && x[j]==1) || (i==4 && x[j]==-1))continue;
	    if(in(i+x[j])){
	      string t=u.f;
	      swap(t[i],t[i+x[j]]);
	      if(st.find(t)==st.end()){
		st.insert(t);
		q.push(mp(t,u.s+1));
	      }
	    }
	  }
	}
      }
    }
    cout<<ans<<endl;
  }
  return 0;
}