#include<stdio.h>
#include<algorithm>
using namespace std;
int dat[8];
int set[]={1,4,1,4,1,2,1,2};
int ans[8];
int main(){
	while(~scanf("%d",dat)){
		for(int i=1;i<8;i++)scanf("%d",dat+i);
		int m=0;
		int n=99999999;
		for(int i=0;i<8;i++){
			int count=0;
			int val=0;
			for(int j=0;j<8;j++){
				count+=min(set[(i+j)%8],dat[j]);
				val*=10;
				val+=set[(i+j)%8];
			}
			if(count>m){
				m=count;
				n=val;
				for(int j=0;j<8;j++)ans[j]=set[(i+j)%8];
			}else if(count==m&&val<n){
				n=val;
				for(int j=0;j<8;j++)ans[j]=set[(i+j)%8];
			}
		}
		printf("%d",ans[0]);
		for(int i=1;i<8;i++)printf(" %d",ans[i]);
		printf("\n");
	}
}