#include<cstdio>
#include<vector>
#include<algorithm>

using namespace std;

int main()
{
	vector< vector<int> > c(8,vector<int>(8));
	c[0][0]=4;	c[0][1]=1;	c[0][2]=4;	c[0][3]=1;
	c[0][4]=2;	c[0][5]=1;	c[0][6]=2;	c[0][7]=1;
	for(int i=1;i<8;i++)for(int j=0;j<8;j++)c[i][j]=c[i-1][(j+1)%8];
	sort(c.begin(),c.end());

	int p[8];
	for(;~scanf("%d%d%d%d%d%d%d%d",p,p+1,p+2,p+3,p+4,p+5,p+6,p+7);){
		int cmax=100,pos;
		for(int i=0;i<8;i++){
			int cnt=0;
			for(int j=0;j<8;j++)	cnt+=max(p[j]-c[i][j],0);
			if(cmax>cnt)	cmax=cnt,pos=i;
		}
		printf("%d %d %d %d %d %d %d %d\n",
			c[pos][0],c[pos][1],c[pos][2],c[pos][3],
			c[pos][4],c[pos][5],c[pos][6],c[pos][7]);
	}

	return 0;
}