#include <iostream>
using namespace std;

int pow(int x, int n) {
  int ans = 1;
  for(int i = 0; i < n; i++) {
    ans *= x;
  }
  return ans;
}

int main() {
  int p[8];
  int data[8] = {4,1,4,1,2,1,2,1};
  while(cin >> p[0] >> p[1] >> p[2] >> p[3] >> p[4] >> p[5] >> p[6] >> p[7]) {
    int V = 999999;
    int min = 999999;
    for(int i = 0; i < 8; i++) {
      int sum = 0;
      for(int j = 0; j < 8; j++) {
	int tmp = p[j] - data[(j+i)%8];
	if(tmp > 0) sum += tmp;
      }
      if(sum < min) {
	min = sum;
	V = 0;
	for(int j = 0; j < 8; j++) {
	  V += pow(10, 7-j) * data[(j+i)%8];
	}
      } else if(sum == min) {
	int v = 0;
	for(int j = 0; j < 8; j++) {
	  v += pow(10, 7-j) * data[(j+i)%8];
	}
	if(v < V) V = v;
      }
    }
    for(int i = 0; i < 8; i++) {
      cout << V % pow(10, 8-i) / pow(10, 7-i) << ' ';
    }
    cout << endl;
  }
  return 0;
}