public class Reitit {
    private static int korkeus = 4;
    private static int leveys = 7;
    private static boolean[][] mukana = new boolean[korkeus][leveys];

    private static int laskuri = 0;

    private static void haku(int y, int x, int n) {
        if (y < 0 || y >= korkeus) return;
        if (x < 0 || x >= leveys) return;
        if (mukana[y][x]) return;
        if (y == korkeus-1 && x == leveys-1) {
            if (n == korkeus*leveys) laskuri++;
            return;
        }
        mukana[y][x] = true;
        haku(y-1, x, n+1);
        haku(y+1, x, n+1);
        haku(y, x-1, n+1);
        haku(y, x+1, n+1);
        mukana[y][x] = false;
    }

    public static void main(String[] args) {
        haku(0, 0, 1);
        System.out.println(laskuri);
    }
}
