I am trying to understand why the below functions are outputting zero for any input I give them. I would have thought that based on the recursive nature that inputting a 2 to function g, would produce 12. Any integer I seem to use for either function simply outputs 0. Can anyone point to where I am going wrong in my thought process?

```
public class dsdsfsd {
    public static int i(int n) {
        if (n == 0) return 0;
        return i(n-1) + g(n-1);
    }

    public static int g(int n) {
        if (n == 0) return 0;
        return g(n-1) + i(n);
    }

    public static void main(String[] args) {
        int a = 2;
        System.out.println(g(a));
        System.out.println(i(a));
        System.out.println(g(g(a)));
    }
}

```