program main
  implicit none
  integer*8::N,i,Z
  real*8::A,B,C,log10,XY
  real*8,allocatable::AB(:,:)
  read *,N
  allocate(AB(2,N))
  read *,AB
  log10 = log(10.0)
  do i=1,N
     A = AB(1,i)
     B = AB(2,i)
     C = B*log(A)/log10
     Z = FLOOR(C)
     XY = 10**(C-DBLE(Z))
     print '(i0," ",i0," ",i0)',FLOOR(XY),FLOOR((XY-FLOOR(XY))*10),Z
  end do
end program main