import java.util.*; class Main { static Scanner sc; static final long I = 1L<<43; static long q(int x,int y,int z){ System.out.println("? "+x+" "+y+" "+z); return sc.nextInt(); } public static void main(String[] args) { sc = new Scanner(System.in); int x,y,z; long md=I; int mi=0; for(int i=-150;i<=150;i+=10){ long d=q(i,0,0); if(md>d){ md=d; mi=i; } } x=mi; for(int i=Math.max(x-10,-150);i<=Math.min(x+10,150);++i){ long d=q(i,0,0); if(md>d){ md=d; mi=i; } } x=mi; md=I; mi=0; for(int i=-150;i<=150;i+=10){ long d=q(x,i,0); if(md>d){ md=d; mi=i; } } y=mi; for(int i=Math.max(y-10,-150);i<=Math.min(y+10,150);++i){ long d=q(x,i,0); if(md>d){ md=d; mi=i; } } y=mi; md=I; mi=0; for(int i=-150;i<=150;i+=10){ long d=q(x,y,i); if(md>d){ md=d; mi=i; } } z=mi; for(int i=Math.max(z-10,-150);i<=Math.min(z+10,150);++i){ long d=q(x,y,i); if(md>d){ md=d; mi=i; } } z=mi; System.out.println("! "+x+" "+y+" "+z); } }