module mdl contains function ispower2(n) integer*8,value::n logical::ispower2 do while(mod(n,2)==0.and.n>0) n=n/2 end do ispower2=n==1 end function end module program main use mdl implicit none integer*8::n,i read*,n do i=1,min(n-1,10) if(.not.ispower2(i).and..not.ispower2(n-i))then print"(i0,' ',i0)",i,n-i return end if end do print*,-1 end program