how to find context-free grammar for generating language
$$J={\{ba^mc^na^ma^nb}\;| n\ge1, m\ge1\} $$
I have already solved problems with constructions like $a^mc^mc^na^n$, but how to appropach the problem if the values in superscripts are "crossing", like in $a^mc^nc^ma^n$ or (simpler version) $a^nb^ma^n$?
Hint:
I hope this helps $\ddot\smile$