<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def include_context(predicate, num, iterative):
 """ Return elements in `iterative` including `num` before and after elements. 'bb!aabb!aa' """

    (it0, it1, it2) = itertools.tee(iterative, 3)
    psf = _forward_shifted_predicate(predicate, num, it1)
    psb = _backward_shifted_predicate(predicate, num, it2)
    return (e for (e, pf, pb) in zip(it0, psf, psb) if pf or pb)