#include <iostream>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <numeric>
#include <bitset>
#include <cmath>

static const int MOD = 1000000007;
using ll = long long;
using u32 = unsigned;
using u64 = unsigned long long;
using namespace std;

template<class T> constexpr T INF = ::numeric_limits<T>::max()/32*15+208;

int main() {
    array<int, 5> v{};
    while(cin >> v[0], v[0]){
        array<int, 3> cnt{};
        for (int i = 1; i < 5; ++i) cin >> v[i];
        for (int i = 0; i < 5; ++i) cnt[v[i]-1]++;
        if((!!cnt[0]+!!cnt[1]+!!cnt[2]-1)%2 == 0) {
            for (int i = 0; i < 5; ++i) puts("3");
            continue;
        }
        if(cnt[0] && cnt[1]){
            for (int i = 0; i < 5; ++i) puts(v[i] == 1 ? "1" : "2");
        }else if(cnt[0] && cnt[2]){
            for (int i = 0; i < 5; ++i) puts(v[i] == 1 ? "2" : "1");
        }else {
            for (int i = 0; i < 5; ++i) puts(v[i] == 2 ? "1" : "2");
        }
    }
    return 0;
}
