#include #include #include #include using namespace std; int TFR[6][6] = { { -1, 2, 4, 1, 3, -1 }, { 3, -1, 0, 5, -1, 2 }, { 1, 5, -1, -1, 0, 4 }, { 4, 0, -1, -1, 5, 1 }, { 2, -1, 5, 0, -1, 3 }, { -1, 3, 1, 4, 2, -1 } }; int FRT[6][6]; int RTF[6][6]; void MakeTable() { memset(FRT, -1, sizeof(FRT)); memset(RTF, -1, sizeof(RTF)); for(int i = 0; i < 6; ++i) for(int j = 0; j < 6; ++j) { int k = TFR[i][j]; if(k < 0) continue; FRT[j][k] = i; RTF[k][i] = j; } } enum { Top, Front, Right }; int main() { MakeTable(); int n; while(cin >> n && n) { int die[3] = {0,1,2}; string dir; while(n--) { cin >> dir; switch(dir[0]) { case 'n': die[Front] = die[Top]; die[Top] = FRT[die[Front]][die[Right]]; break; case 's': die[Top] = die[Front]; die[Front] = RTF[die[Right]][die[Top]]; break; case 'e': die[Top] = die[Right]; die[Right] = TFR[die[Top]][die[Front]]; break; case 'w': die[Right] = die[Top]; die[Top] = FRT[die[Front]][die[Right]]; break; } /*switch(dir[0]) { case 'n': swap(die[Front],die[Top]); die[Top] = 5 - die[Top]; break; case 's': swap(die[Top], die[Front]); die[Front] = 5 - die[Front]; break; case 'e': swap(die[Top], die[Right]); die[Right] = 5 - die[Right]; break; case 'w': swap(die[Right], die[Top]); die[Top] = 5 - die[Top]; break; }*/ } cout << die[0]+1 << endl; } }