/*
TASK:zigzag
LANG:C
*/
#include<stdio.h>
int main()
{int a[101][101],n,k,k1=2,i=0,j=0,ind=0,x=0,br=0;
 scanf("%d %d",&n,&k);
 for(i=0;i<n;i++)
  {for(j=0;j<n;j++)
   a[i][j]=0;
  }
 a[0][0]=1;
 if(k==1) {printf("%d %d\n",i,j);  return 0;}
 if(k==n*n) {printf("%d %d\n",n,n);  return 0;}
 i=0; j=0;
 for(ind=1;ind<2*(n-1);ind++)

  {if(ind%2!=0 && ind<n)
     {j=ind; i=ind-j; a[i][j]=k1; k1++;
      if(a[i][j]==k) {printf("%d %d\n",i+1,j+1); return 0;}
      for(x=0;x<ind;x++)
       {i++; j--; a[i][j]=k1; k1++;
        if(a[i][j]==k) {printf("%d %d\n",i+1,j+1); return 0;}
       }
     }

   else if(ind%2==0 && ind<n)
     {i=ind; j=ind-i; a[i][j]=k1; k1++;
      if(a[i][j]==k) break;
      for(x=0;x<ind;x++)
       {i--; j++; a[i][j]=k1; k1++;
        if(a[i][j]==k) {printf("%d %d\n",i+1,j+1); return 0;}
       }
     }

   else if(ind%2!=0 && ind>=n)
     {br++;
      for(i=br;i<ind;i++)
         {j=ind-i;
          a[i][j]=k1; k1++;
         if(a[i][j]==k) {printf("%d %d\n",i+1,j+1); return 0;}
          if(j==br) break;
         }
     }

   else if(ind%2==0 && ind>=n)
     {br++;
      for(j=br;j<ind;j++)
         { i=ind-j;
           a[i][j]=k1; k1++;
         if(a[i][j]==k) {printf("%d %d\n",i+1,j+1); return 0;}
           if(i==br) break;
         }
      }



  }

/*  for(i=0;i<n;i++)
  {for(j=0;j<n;j++)
   {printf("%d  ",a[i][j]);}
   printf("\n");
  }
 */
 return 0;
}