#include <bits/stdc++.h>

using namespace std;

int main(){
	map<vector<int>, int>MVII;
	vector<int>D(8);
for(int i = 0;i < 8; i++){
	D[i]=i;
}

queue<vector<int>>que;
que.push(D);
while(que.size()){
	vector<int> now = que.front(); que.pop();

	for(int i = 0;i < 4; i++){
	auto E = now;
	swap(E[i], E[i+4]);
	if(MVII[E]==0){
	MVII[E]=MVII[now]+1;
	que.push(E);
}
	}
for(int i = 0; i < 3; i++){
for(int j = 0; j < 2; j++){
auto E = now;
swap(E[j*4+i],E[j*4+i+1]);
	if(MVII[E]==0){
	MVII[E]=MVII[now]+1;
	que.push(E);
}
}

while(cin>>D[0]){
	for(int i = 1;i<8;i++){
	cin>>D[i];
}
cout<<MVII[D]<<endl;
}

}