Nasser size tam sayılardan oluşan satır ve sütunluk bir ızgara veriyor.
Izgarayı iki parçaya bölmek için bir (1 \le c < m) sütunu seçmelisiniz:
Sol parça: 'den 'ye kadar olan (dahil) sütunlar.
Sağ parça: c+1'den 'ye kadar olan (dahil) sütunlar.
İki hücre bir kenarı paylaşıyorsa (yukarı, aşağı, sol veya sağ) komşu kabul edilir. Aynı parçada bulunan iki komşu hücre eşit değerler içeriyorsa bağlı sayılır. Bağlı bileşen, içindeki her hücre çiftinin birbirine bağlı komşu hücreler zinciri üzerinden ulaşabildiği maksimal hücre grubudur.
Örneğin, şu ızgarada:
Eğer c=1 sütunundan bölersek, sol parça şöyle olur:
Sol parçadaki en büyük bağlı bileşenin boyutu 'dir (iki tane ). Sağ parça ise şöyledir:
Sağ parçadaki en büyük bağlı bileşenin boyutu 'tür (dört tane ).
, sol parçadaki en büyük bağlı bileşenin boyutu; ise sağ parçadaki en büyük bağlı bileşenin boyutu olsun.
Göreviniz, |L - R| değerini en küçük yapacak bir sütunu seçmektir.
Yukarıdaki örnekte, c=1 seçersek L=2, R=4 ve |L-R|=2 olur. c=2 seçersek, ve yeni bölünmeye göre hesaplanır ve tüm seçimleri üzerinden minimumu alırız.
Her test birden fazla test durumu içerir. İlk satırda test durumlarının sayısını belirten tek bir tam sayı (1 \le t \le 10^4) verilir. Ardından test durumlarının açıklaması gelir.
Her test durumunun ilk satırında satır ve sütun sayısını belirten iki tam sayı ve (1 \le n, 2 \le m, n \cdot m \le 2 \cdot 10^5) verilir.
Sonraki satırın her birinde ızgaranın elemanları olan tam sayı a_{i,1}, a_{i,2}, \ldots, a_{i,m} (1 \le a_{i,j} \le 10^9) verilir.
Tüm test durumları üzerinden n \cdot m toplamının 2 \cdot 10^5'i aşmadığı garanti edilir.
Her test durumu için tek bir tam sayı — |L - R| ifadesinin mümkün olan en küçük değerini yazdırın.
Örnek 1
Altgörev ( puan) : (n = 1)
Altgörev ( puan) : (m \le 50)
Altgörev ( puan) : Ek kısıt yoktur.