Consider the grammar $S \rightarrow aSa \mid bSb \mid a \mid b$. Which one of the following options correctly characterizes the language generated by the given grammar over the alphabet {a,b}
float foo(int n){ if(n <= 2) return 1; else return (2*foo(n-1) + 3*foo(n-2)); }