#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=1000000007,MAX=5005,INF=1<<28;

struct dice{
    int u,f,r,b,l,d;
    
    dice(int uu,int ff,int rr,int bb,int ll,int dd){
        u=uu;
        f=ff;
        r=rr;
        b=bb;
        l=ll;
        d=dd;
    }
    
    void turnF(){
        int save=f;
        f=u;
        u=b;
        b=d;
        d=save;
    }
    
    void turnR(){
        int save=r;
        r=u;
        u=l;
        l=d;
        d=save;
    }
    
    void turnB(){
        int save=b;
        b=u;
        u=f;
        f=d;
        d=save;
    }
    
    void turnL(){
        int save=l;
        l=u;
        u=r;
        r=d;
        d=save;
    }
};

int ri(int u,int f){
    if(u==1){
        if(f==2) return 3;
        if(f==3) return 5;
        if(f==5) return 4;
        if(f==4) return 2;
    }
    if(u==2){
        if(f==1) return 4;
        if(f==4) return 6;
        if(f==6) return 3;
        if(f==3) return 1;
    }
    if(u==3){
        if(f==1) return 2;
        if(f==2) return 6;
        if(f==6) return 5;
        if(f==5) return 1;
    }
    if(u==4){
        if(f==1) return 5;
        if(f==5) return 6;
        if(f==6) return 2;
        if(f==2) return 1;
    }
    if(u==5){
        if(f==1) return 3;
        if(f==3) return 6;
        if(f==6) return 4;
        if(f==4) return 1;
    }
    if(u==6){
        if(f==2) return 4;
        if(f==4) return 5;
        if(f==5) return 3;
        if(f==3) return 2;
    }
    
    return -1;
}

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    while(1){
        int Q;cin>>Q;
        if(Q==0) break;
        vector<vector<int>> H(201,vector<int>(201)),S(201,vector<int>(201));
        
        while(Q--){
            int a,b;cin>>a>>b;
            int c=ri(a,b);
            dice x(a,b,c,7-b,7-c,7-a);
            
            int hnow=100,wnow=100;
            
            while(1){
                int to=-1;
                
                if(H[hnow][wnow]>H[hnow+1][wnow]&&x.f>=4&&to<x.f){
                    to=x.f;
                }
                if(H[hnow][wnow]>H[hnow][wnow+1]&&x.r>=4&&to<x.r){
                    to=x.r;
                }
                if(H[hnow][wnow]>H[hnow-1][wnow]&&x.b>=4&&to<x.b){
                    to=x.b;
                }
                if(H[hnow][wnow]>H[hnow][wnow-1]&&x.l>=4&&to<x.l){
                    to=x.l;
                }
                
                if(to==-1) break;
                
                if(x.f==to){
                    x.turnF();
                    hnow++;
                }else if(x.r==to){
                    x.turnR();
                    wnow++;
                }else if(x.b==to){
                    x.turnB();
                    hnow--;
                }else if(x.l==to){
                    x.turnL();
                    wnow--;
                }
            }
            
            H[hnow][wnow]++;
            S[hnow][wnow]=x.u;
            
            //cout<<" "<<hnow<<" "<<wnow<<endl;
        }
        
        vector<int> cnt(7);
        
        for(int i=0;i<201;i++){
            for(int j=0;j<201;j++){
                cnt[S[i][j]]++;
            }
        }
        
        for(int i=1;i<=6;i++){
            if(i>=2) cout<<" ";
            cout<<cnt[i];
        }
        cout<<endl;
    }
}





Measured memory_bytes: 3308