import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #sys.setrecursionlimit(10**9) #sys.set_int_max_str_digits(0) #input = sys.stdin.readline #n = int(input()) #alist = list(map(int,input().split())) #alist = [] #s = input() x,y = map(int,input().split()) #for i in range(n): # alist.append(list(map(int,input().split()))) e = [] z = [] for i in range(x): z.append(i*y) for j in range(y-1): e.append((i*y+j,i*y+j+1)) for i in range(x): e.append((z[i],z[(i+1)%len(z)])) print(x*y,len(e)) for i,j in e: print(i+1,j+1)