import golly
def die(invalid):
golly.exit('Invalid apgcode {}'.format(invalid))
code = golly.getclipstr()
try:
[prefix, data] = code.split('_', 1)
except ValueError:
die(code)
if prefix == 'ov':
try:
data = data.split('_')[1]
except ValueError:
die(code)
chars = '0123456789abcdefghijklmnopqrstuv'
i = 0
while i < len(data):
if data[i] in chars or data[i] in ('w', 'x', 'z'):
i += 1
elif data[i] == 'y':
if i + 1 == len(data) or not(data[i + 1] in chars):
die(code)