f=lambda s,a:[a[i]for x in[map(int,c.split('TO'))for c in s.split('AND')]for i in range(x[0]-1,x[-1]-2*(x[-1]<x[0]),1-2*(x[-1]<x[0]))if 0<=i<len(a)]
testA = ['H','e','l','l','o',' ','W','o','r','l','d']
for testS in ("1 TO 3", "5", "-10 TO 10", "0 AND 2 AND 4", "8 TO 3", "-300 AND 300", "1 TO 3 AND 3 TO 1", "-20 TO 0 AND 1 AND 4"):
print testS
print f(testS, testA)
print ''
Zj1sYW1iZGEgcyxhOlthW2ldZm9yIHggaW5bbWFwKGludCxjLnNwbGl0KCdUTycpKWZvciBjIGluIHMuc3BsaXQoJ0FORCcpXWZvciBpIGluIHJhbmdlKHhbMF0tMSx4Wy0xXS0yKih4Wy0xXTx4WzBdKSwxLTIqKHhbLTFdPHhbMF0pKWlmIDA8PWk8bGVuKGEpXQoKdGVzdEEgPSBbJ0gnLCdlJywnbCcsJ2wnLCdvJywnICcsJ1cnLCdvJywncicsJ2wnLCdkJ10KZm9yIHRlc3RTIGluICgiMSBUTyAzIiwgIjUiLCAiLTEwIFRPIDEwIiwgIjAgQU5EIDIgQU5EIDQiLCAiOCBUTyAzIiwgIi0zMDAgQU5EIDMwMCIsICIxIFRPIDMgQU5EIDMgVE8gMSIsICItMjAgVE8gMCBBTkQgMSBBTkQgNCIpOgoJcHJpbnQgdGVzdFMKCXByaW50IGYodGVzdFMsIHRlc3RBKQoJcHJpbnQgJycK
1 TO 3
['H', 'e', 'l']
5
['o']
-10 TO 10
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l']
0 AND 2 AND 4
['e', 'l']
8 TO 3
['o', 'W', ' ', 'o', 'l', 'l']
-300 AND 300
[]
1 TO 3 AND 3 TO 1
['H', 'e', 'l', 'l', 'e', 'H']
-20 TO 0 AND 1 AND 4
['H', 'l']