def check_ab(ab, verb):
    r
    try:
        ab = int(ab)
    except VariableCatch:
        print('* ERROR   :: <ab> must be an integer')
        raise
    pab = [11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26,
           31, 32, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46,
           51, 52, 53, 54, 55, 56, 61, 62, 63, 64, 65, 66]
    if ab not in pab:
        print('* ERROR   :: <ab> must be one of: ' + str(pab) + ';' +
              ' <ab> provided: ' + str(ab))
        raise ValueError('ab')
    if verb > 2:
        print("   Input ab        : ", ab)
    msrc = ab % 10 > 3
    mrec = ab // 10 > 3
    if mrec:
        if msrc:
            ab_calc = ab - 33
        else:
            ab_calc = ab % 10*10 + ab // 10
    else:
        ab_calc = ab
    if verb > 2:
        if ab in [36, 63]:
            print("\n>  <ab> IS "+str(ab)+" WHICH IS ZERO; returning")
        else:
            print("   Calculated ab   : ", ab_calc)
    return ab_calc, msrc, mrec