import java.io.BufferedReader;
import java.io.InputStreamReader;

class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
		String[] params1 = bufferedReader.readLine().split(" ");
		int max_page_size = 210;
		boolean[][] squares = new boolean[max_page_size][max_page_size];
		for (int i = 0; i < max_page_size; ++i){
			for (int j = 0; j < max_page_size; ++j){
				squares[i][j] = false;
			}
		}
		int n;
		n = Integer.parseInt(params1[0]);
		for (int i = 0; i < n; ++i){ 
			String[] params2 = bufferedReader.readLine().split(" ");
			int x, y; 
			x = Integer.parseInt(params2[0]);
			y = Integer.parseInt(params2[1]);
			squares[x + max_page_size / 2][y + max_page_size / 2] = true;
		}
		int perimiter = 0;
		for (int i = 0; i < max_page_size; ++i){
			for (int j = 0; j < max_page_size; ++j){
				if (squares[i][j]){
					perimiter += (!squares[i + 1][j] ? 1 : 0) + (!squares[i - 1][j] ? 1 : 0) + (!squares[i][j + 1] ? 1 : 0) + (!squares[i][j - 1] ? 1 : 0);
				}
			}
		}
		int max = 0;
		for (int j = 1; (perimiter - 2 * j) / 2 > 0; ++j){ 
			int i = (perimiter - 2 * j) / 2; 
			if (i * j - n > max) {
				max = i * j - n;
			}
		}
		System.out.print(max);
	}
}