#include <stdio.h>

struct pare{
    int a;
    int b;
};


int main()
{

    int n,m;

    scanf("%d %d", &n,&m);
    struct pare q[10000];

  
    for (int i = 0; i < m; i++){
        q[i].a = 1;
        q[i].b = i + 2;
    }//ペアの組み合わせ
/*
    for (int i = 0; i < m; i++)
    {
        printf("%d %d", q[i].a, q[i].b);
        printf("-----\n");
    } //ペアの組み合わせ

*/
    //リング

    int ppp[10000];
    for (int i = 0; i <= n; i++)
    {
        ppp[i] = 0;
    } //ペアの組み合わせ

    for (int i = m - 1; i >= 0;i--){//qのでかいのからいれる
        for (int j = 1;j<=n; j++){
            if(ppp[j]==0&&ppp[(j+(q[i].b)-1)%n]==0){//いれる場所が見つかった
                ppp[j] = 1;
                ppp[(j + (q[i].b) - 1)] = 1;
                q[i].a = j;
                q[i].b = (j + (q[i].b) - 1)%n;
                break;
            }
        }
    }
    for (int i = 0; i < m; i++)
    {
        if(q[i].b==0)
            q[i].b = n;
        printf("%d %d", q[i].a, q[i].b);
        printf("\n");
    } //ペアの組み合わせ

 
 
}