I'm having trouble understanding some language notation, primarily what rules I can take away from it. The language is as follows:$\qquad L = \{a^n b^m b^p c^p b^{n-m} \mid n > 0, m < n, p > 2\}$My goal is to create a context free grammar from this, but I can't get my ahead around the rules in place here. In plain English, it's clear that any string for this language must have a positive number of a's in it, but what is going on with the multiple b's? Do I take this as the string must be in some form like so:  $\qquad aaa-b-bbb-ccc-bb$  (n=3, m=1, p=3)where the bunches of b's are just distinct sequences? Or is there something else I should be doing in order to satisfy this? 
Interpreting a Language
formal languages