#include<iostream>
using namespace std;

int check(int p[],int data[])
{
  int cnt=0;
  for(int i=0;i<8;i++)
    cnt+=max(0,data[i]-p[i]);
  
  return cnt;
}

int makeint(int p[])
{
  int ans=0;
  for(int i=0;i<8;i++)
    {
      ans*=10;
      ans+=p[i];
    }
  return ans;
}

int main()
{
  int p[8];
  for(;cin>>p[0]>>p[1]>>p[2]>>p[3]>>p[4]>>p[5]>>p[6]>>p[7];)
    {
  int data[]={4,1,4,1,2,1,2,1};
      int anscnt=check(p,data);
      int ans[8];
      for(int i=0;i<8;i++)
	  ans[i]=data[i];
      int buf=makeint(p);
      for(int i=0;i<7;i++)
	{	 
	  int tt=data[0];
	  for(int i=0;i<7;i++)
	    data[i]=data[i+1];
	  data[7]=tt;
	  int tmp=check(p,data);
	  int tbuf=makeint(p);
	  if(tmp<anscnt || (tmp==anscnt&&tbuf<buf))
	    {
	      anscnt=tmp;
	      buf=tbuf;
	      for(int i=0;i<8;i++)
		ans[i]=data[i];
	    }
	}
      for(int i=0;i<8;i++)
	{
	  cout<<ans[i];
	  if(i==7)
	    cout<<endl;
	  else
	    cout<<" ";
	}
    }

}