#!/usr/bin/env python3 # funkce, která bere čtyři souřadnice a vrátí obsah obdélníka nimi určeného area = lambda x1, y1, x2, y2: abs(x2 - x1) * abs(y1 - y2) # funkce, která nebere argumenty a vrátí jeden řádek vstupu nasekaný po # mezerách a převedený na čísla. tuple se chová podobně jako seznam ([1, 2, # 3]), až na to, že jeho prvky nejdou měnit, ale na oplátku se dá používat v # hešovacích strukturách typu set a dict. intline = lambda: tuple(map(int, input().split())) # ignorujeme rozměry mřížky, zajímá nás jen počet třešní _, _, K = intline() # načteme K řádků s třešněmi a uložíme je do setu. cherries = set(intline() for _ in range(K)) # na začátku uložíme falešný obdélník s nulovým obsahem best = (0, 0, 0, 0) # vyzkoušíme všechny dvojice bodů: for x1, y1 in cherries: for x2, y2 in cherries: # dopočítáme zbylé dva rohy if ( (x1, y2) in cherries and (x2, y1) in cherries # funkce(*seznam) se chová stejně jako funkce(seznam[0], seznam[1], …) and area(*best) < area(x1, y1, x2, y2) ): best = x1, y1, x2, y2 x1, y1, x2, y2 = best print(area(*best)) print(x1, y1) print(x2, y1) print(x2, y2) print(x1, y2)