/*    Jeffrey Dudek

      ACSL Contest #3 SR-3

      Cary Academy

*/

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

int bowl[14];

int i;

int cur;

char *outb;

int outi;

int curr;

 

void movea(int loc, int num) {

    if (num == 0) {

        if (bowl[loc] == 0 || bowl[loc] == 1 || bowl[loc] == 4)

            return;

        curr = bowl[loc];

        bowl[loc] = 0;

        movea(loc, curr);

        return;

    }

    if (loc == 5) {

        bowl[12]++;

        num--;

    }

    if (num == 0) {

        return;

    }

    loc++;

    if (loc > 11)

        loc = 0;

    bowl[loc]++;

    movea(loc, num - 1);

    return;

}

 

void moveb(int loc, int num) {

    if (num == 0) {

        if (bowl[loc] == 0 || bowl[loc] == 1 || bowl[loc] == 4)

            return;

        curr = bowl[loc];

        bowl[loc] = 0;

        moveb(loc, curr);

        return;

    }

    if (loc == 11) {

        bowl[13]++;

        num--;

    }

    if (num == 0) {

        return;

    }

    loc++;

    if (loc > 11)

        loc = 0;

    bowl[loc]++;

    moveb(loc, num - 1);

}

 

int parse(char outb[]) {

    if (strcmp(outb, "A") == 0)

        return 12;

    if (strcmp(outb, "B") == 0)

        return 13;

    if (strcmp(outb, "1") == 0)

        return 0;

    if (strcmp(outb, "2") == 0)

        return 1;

    if (strcmp(outb, "3") == 0)

        return 2;

    if (strcmp(outb, "4") == 0)

        return 3;

    if (strcmp(outb, "5") == 0)

        return 4;

    if (strcmp(outb, "6") == 0)

        return 5;

    if (strcmp(outb, "7") == 0)

        return 6;

    if (strcmp(outb, "8") == 0)

        return 7;

    if (strcmp(outb, "9") == 0)

        return 8;

    if (strcmp(outb, "10") == 0)

        return 9;

    if (strcmp(outb, "11") == 0)

        return 10;

    if (strcmp(outb, "12") == 0)

        return 11;

    return 0;

}

 

int main(int argc, char** argv) {

    int curr2;

    char s[10];

    char waste;

    outb = malloc(sizeof (char) *50);

    FILE *fin = fopen("mancala.in", "r");

    for (i = 0; i < 12; i++) {

        bowl[i] = 4;

    }

 

    fscanf(fin, "%d", &cur);

    fscanf(fin, "%s", s);

    cur--;

    outi = parse(s);

    curr2 = bowl[cur];

    bowl[cur] = 0;

    movea(cur, curr2);

    printf("%d\n", bowl[outi]);

 

    fscanf(fin, "%d", &cur);

    fscanf(fin, "%s", s);

    cur--;

    outi = parse(s);

    curr2 = bowl[cur];

    bowl[cur] = 0;

    moveb(cur, curr2);

    printf("%d\n", bowl[outi]);

 

    fscanf(fin, "%d", &cur);

    fscanf(fin, "%s", s);

    cur--;

    outi = parse(s);

    curr2 = bowl[cur];

    bowl[cur] = 0;

    movea(cur, curr2);

    printf("%d\n", bowl[outi]);

 

    fscanf(fin, "%d", &cur);

    fscanf(fin, "%s", s);

    cur--;

    outi = parse(s);

    curr2 = bowl[cur];

    bowl[cur] = 0;

    moveb(cur, curr2);

    printf("%d\n", bowl[outi]);

 

    fscanf(fin, "%d", &cur);

    fscanf(fin, "%s", s);

    cur--;

    outi = parse(s);

    curr2 = bowl[cur];

    bowl[cur] = 0;

    movea(cur, curr2);

    printf("%d\n", bowl[outi]);

 

    return (EXIT_SUCCESS);

}