#include<iostream>
#include<algorithm>
#define INF (1<<24)
using namespace std;
int t[8],x,y,z;
int ans,mini;
int s[]={4,1,4,1,2,1,2,1};

void change(){
  int tmp;
  tmp=s[0];
  for(int i=0;i<7;i++)s[i]=s[i+1];
  s[7]=tmp;
}

int compute(){
  int res=0;
  for(int i=0;i<8;i++){
    res+=max(0,t[i]-s[i]);
  }
  return res;
}

int main(){
  
  while(cin>>t[0]){
    ans=mini=INF;
    for(int i=1;i<8;i++)cin>>t[i];
    
    for(int i=0;i<8;i++){
      change();
      x=compute();
      y=0;
      for(int i=0;i<8;i++){
	y+=s[i];
	y*=10;
      }
      if(mini>x){
	mini=x;
	ans=y;
	
      }else if(mini==x&&y<ans){
	ans=y;
      }
    }
    //cout<<ans<<endl;
    z=100000000;
    for(int i=0;i<8;i++){
      if(i)cout<<" ";
      cout<<ans/z%10;
      z/=10;
    }
    
    cout<<endl;
    
  }
  return 0;
}