<s> import sys <EOL> roman = [ [ '<STR_LIT>' , '<STR_LIT:I>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT:X>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:L>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT:C>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:D>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT>' , '<STR_LIT:M>' , '<STR_LIT>' , '<STR_LIT:M>' * <NUM_LIT:3> , '<STR_LIT:M>' * <NUM_LIT:4> , '<STR_LIT:M>' * <NUM_LIT:5> , '<STR_LIT:M>' * <NUM_LIT:6> , '<STR_LIT:M>' * <NUM_LIT:7> , '<STR_LIT:M>' * <NUM_LIT:8> , '<STR_LIT:M>' * <NUM_LIT:9> ] ] <EOL> def roman2int ( s ) : <EOL> """<STR_LIT>""" <EOL> val = <NUM_LIT:0> <EOL> pos10 = <NUM_LIT:1000> <EOL> beg = <NUM_LIT:0> <EOL> for pos in range ( <NUM_LIT:3> , - <NUM_LIT:1> , - <NUM_LIT:1> ) : <EOL> for digit in range ( <NUM_LIT:9> , - <NUM_LIT:1> , - <NUM_LIT:1> ) : <EOL> r = roman [ pos ] [ digit ] <EOL> if s . startswith ( r , beg ) : <EOL> beg += len ( r ) <EOL> val += digit * pos10 <EOL> break <EOL> pos10 //= <NUM_LIT:10> <EOL> return val <EOL> def int2roman ( val ) : <EOL> """<STR_LIT>""" <EOL> s = '<STR_LIT>' <EOL> pos10 = <NUM_LIT:1000> <EOL> for pos in range ( <NUM_LIT:3> , - <NUM_LIT:1> , - <NUM_LIT:1> ) : <EOL> digit = val // pos10 <EOL> s += roman [ pos ] [ digit ] <EOL> val %= pos10 <EOL> pos10 //= <NUM_LIT:10> <EOL> return s </s>
