#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
int main(){
  int INF=-1;
  int i,j,a[10];
  int b[10]={1,2,1,4,1,4,1,2};
  while(scanf("%d",&a[0])!=EOF){
    for(i=1;i<8;i++){
      cin >> a[i];
    }
    int x=2000000000;
    int ans=INF;
    for(i=0;i<8;i++){
      int count=0;
      for(j=0;j<8;j++){
        count+=min(a[j],b[(j+i)%8]);
      }
      if(count>ans){
        ans=count,x=0;
        for(j=0;j<8;j++){
          x+=b[(j+i)%8]*pow(10,7-j);
        }
      }
      else if(count==ans){
        int y=0;
        for(j=0;j<8;j++){
          y+=b[(j+i)%8]*pow(10,7-j);
        }
        if(y<x){
          x=y,ans=count;
        }
      }
    }
    vector<int> g;
    for(i=0;i<8;i++){
      g.push_back(x%10);
      x=x/10;
    }
    for(i=7;i>=0;i--){
      if(i==7){
        printf("%d",g[i]);
      }
      else{
        printf(" %d",g[i]);
      }
    }
    printf("\n");
  }
}
