#include <bits/stdc++.h>
using namespace std;

int b[8] = {4, 1, 4, 1, 2, 1, 2, 1};

int main(){
    int p[8];
    while(cin >> p[0]){
        vector<int> ans(8, 0);
        for(int i=1; i < 8; i++) cin >> p[i];

        int maxPoint = 0;
        for(int i=0; i < 8; i++){
            int point = 0;
            vector<int> tmp(8, 0);
            for(int j=0; j < 8; j++){
                point += min(p[j], b[(i+j)%8]);
                tmp[j] = b[(i+j)%8];
            }
            if(maxPoint <= point){
                if(maxPoint == point && ans < tmp) continue;
                else {
                    for(int k=0; k < 8; k++){
                        ans[k] = tmp[k];
                    }
                }
                maxPoint = point;
            }
        }
        for(int i=0; i < 8; i++){
            if(i == 0) cout << ans[i];
            else cout << " " << ans[i];
        }
        cout << endl;
    }
}