#define scanf_s scanf
#define gets_s gets
#include <stdio.h>
#include <string>
#include <iostream>
#include <math.h>
using namespace std;
#define MAX 8
#define _MAX 8
int main(void)
{
	int p[_MAX] = { 0 }, c[_MAX] = { 4,1,4,1,2,1,2,1 }, min, min_i, sum = 0;
	while (1) {
		if (scanf_s("%d %d %d %d %d %d %d %d", &p[0], &p[1], &p[2], &p[3], &p[4], &p[5], &p[6], &p[7]) == EOF)
			break;
		for (int i = 0; i < _MAX; ++i) {
			for (int j = 0; j < _MAX; ++j) {
				if (p[j] - c[(i + j) % _MAX] > 0)
					sum += p[j] - c[(i + j) % _MAX];
			}
			if (i == 0 || sum <= min) {
				if (i != 0 && sum == min) {
					for (int j = 0; j < _MAX; ++j) {
						if (c[(i + j) % _MAX] < c[(min_i + j) % _MAX]) {
							min_i = i;
							break;
						}
					}
				}
				else min = sum; min_i = i;
			}
			sum = 0;
		}
		for (int i = 0; i < _MAX; ++i) {
			if(i != 0) printf(" ");
			printf("%d", c[(min_i + i) % _MAX]);
		}
		printf("\n");
	}
}