#!/usr/bin/python
# maiden2lonlat -- Maidenhead grid to long/lat calculator not limited to 6 characters
# Copyright       : http://www.fsf.org/copyleft/gpl.html
# Author          : Dan Jacobson -- http://jidanni.org/geo/maidenhead/
# Created On      : Sat Mar 15 03:54:08 2003
# Last Modified On: Fri Nov 28 05:58:24 2003
# Update Count    : 333
A=ord('A');safety=22
import re, sys, string
def f(z):
    return 10**(-(z-1)/2)*24**(-z/2) #this is my stroke of genius or something
while 1:
    line=sys.stdin.readline()
    if not line: break
    lon=lat=-90
    lets=re.findall(r'([A-Xa-x])([A-Xa-x])',line) #slob: assume no input errors
    nums=re.findall(r'(\d)(\d)',line) #slob: assume no input errors
    if len(lets)+len(nums)>safety:
        #print sys.argv[0]+ ': you want more than', safety*2, 'digits'
        # how to do 1>&2 in python? I suppose:
        sys.stderr.write(sys.argv[0]+ ': you want more than '+str(safety*2)+' digits\n')
        sys.exit(22) #crappy length check
    i=tot=0
    val=range(0,safety) #sorry I don't know how to do this
    for m in val: #i seem to need an empty array
        val[m]=None #so so silly
    for x,y in lets:
        val[i*2]=(ord(string.upper(x))-A,ord(string.upper(y))-A)
        i+=1
        tot+=1
    for x in val[0]:
        if x>=18: #only now do we do a crappy error check for S...
            sys.stderr.write('invalid data in first two letters\n')
            sys.exit(37)
    i=0
    for x,y in nums:
        val[i*2+1]=(string.atoi(x),string.atoi(y))
        i+=1
        tot+=1
    i=0
    for x,y in val[0:min(tot,safety-1)]:
        lon+=f(i-1)*x
        lat+=f(i-1)*y
        i+=1
    lon*=2
    print lon,lat