cython
1def test_in(s):
2"""
3>>> test_in('ABC')
41
5>>> test_in('abc')
62
7>>> test_in('X')
83
9>>> test_in('XYZ')
104
11>>> test_in('ABCXYZ')
125
13>>> test_in('')
145
15"""
16if s in (u'ABC', u'BCD', u'ABC'[:3], u'ABC'[::-1], u'ABC'[-1]):
17return 1
18elif s.upper() in (u'ABC', u'BCD'):
19return 2
20elif len(s) in (1,2):
21return 3
22elif len(s) in (3,4):
23return 4
24else:
25return 5
26
27def test_not_in(s):
28"""
29>>> test_not_in('abc')
301
31>>> test_not_in('CDE')
322
33>>> test_not_in('CDEF')
343
35>>> test_not_in('BCD')
364
37"""
38if s not in (u'ABC', u'BCD', u'CDE', u'CDEF'):
39return 1
40elif s.upper() not in (u'ABC', u'BCD', u'CDEF'):
41return 2
42elif len(s) not in [3]:
43return 3
44elif len(s) not in [1,2]:
45return 4
46else:
47return 5
48