#include <cstdio>
#include <algorithm>
using namespace std;
int p[8], t[8], u[8], c[8] = { 1, 4, 1, 4, 1, 2, 1, 2 };
bool comp() {
	for(int j = 0; j < 8; j++) {
		if(t[j] > u[j]) return true;
		if(t[j] < u[j]) return false;
	}
	return false;
}
int main() {
	while(~scanf("%d%d%d%d%d%d%d%d", &p[0], &p[1], &p[2], &p[3], &p[4], &p[5], &p[6], &p[7])) {
		int ret = 999999999;
		for(int i = 0; i < 8; i++) t[i] = 5;
		for(int i = 0; i < 8; i++) {
			int res = 0;
			for(int j = i; j < i + 8; j++) res += max(p[j - i] - c[j % 8], 0), u[j - i] = c[j % 8];
			if(res < ret) {
				ret = res;
				for(int j = 0; j < 8; j++) t[j] = u[j];
			}
			else if(res == ret && comp()) {
				for(int j = 0; j < 8; j++) t[j] = u[j];
			}
		}
		for(int j = 0; j < 8; j++) printf(j ? " %d" : "%d", t[j]);
		printf("\n");
	}
	return 0;
}