'Cancel b + sign*s and a + sign*s
This is for meijer G functions.'

@classmethod
def _meijer(cls, b, a, sign):

    b = sympify(b)
    a = sympify(a)
    n = (b - a)
    if (n.is_negative or (not n.is_Integer)):
        return None
    expr = Operator.__new__(cls)
    p = S(1)
    for k in range(n):
        p *= (((sign * _x) + a) + k)
    expr._poly = Poly(p, _x)
    if (sign == (-1)):
        expr._a = b
        expr._b = a
    else:
        expr._b = Add(1, (a - 1), evaluate=False)
        expr._a = Add(1, (b - 1), evaluate=False)
    return expr
