import sys

def getPocetTree(w,h,arr):
	pocet = 0
	for i in range(1,len(arr)):
		if(w>arr[i][0] and h > arr[i][1]):
			pocet += 1
	return pocet

treenum=0
side=0
maxx =0
maxy = 0
inputs = []
podminka = True
while(podminka):
	
	line = sys.stdin.readline()
	betterline = line.replace("\n","")
	if line=="\n":
		break
	inputs.append(list(map(int,betterline.split())))
	podminka = line
inputArr = []
counter = 0
first = True
nowindex = -1
for i in inputs:
	if counter == 0:
		inputArr.append([i])
		nowindex += 1
		counter = i[1]+1
	else:
		inputArr[nowindex].append(i)	
		
	
	counter -= 1

for lipton in inputArr:
	minum = -1
	side=lipton[0][0]
	treenum=lipton[0][1]
	for x in range(1,side):
		for y in range(1,side):
			pjakop = getPocetTree(x,y,lipton)
			if((pjakop==treenum/2.0 and minum > x*y) or (pjakop==treenum/2.0  and minum == -1)):
				minum = x*y
	print(minum)
exit()
