from sys import *
def binaryToDecimal(n): 
    num = n; 
    dec_value = 0; 
      
    # Initializing base  
    # value to 1, i.e 2^0 
    base1 = 1; 
      
    len1 = len(num); 
    for i in range(len1 - 1,-1,-1): 
        if (num[i] == '1'):      
            dec_value += base1; 
        base1 = base1 * 2; 
      
    return dec_value;

s1=""
s2=""

for i in range(30):
    val1=binaryToDecimal("1"+s1)
    val2=binaryToDecimal("0"+s2)
    k=stdout.write("? "+str(val1)+" "+str(val2))
    stdout.flush()
    
    if(k==1):
        s1="0"+s1
        s2="0"+s2
    elif(k==-1):
        s1="1"+s1
        s2="1"+s2
    else:
        val1=binaryToDecimal("1"+s1)
        val2=binaryToDecimal("1"+s2)
        k=stdout.write("? "+str(val1)+" "+str(val2))
        stdout.flush()

        if(k==1):
            s1='0'+s1
            s2='1'+s2
        else:
            s1='1'+s1
            s2='0'+s2

val1=binaryToDecimal(s1)
val2=binaryToDecimal(s2)
stdout.write("! "+str(val1)+" "+str(val2))
stdout.flush()