import scala.annotation.tailrec

object Main extends App{
  import scala.math.{sqrt}
  import scala.io.StdIn.{readLine}
  case class Point(x:Double, y:Double) extends Ordered[Point]{
    override def compare(that: Point): Int = if (x == that.x) y.compare(that.y) else x.compare(that.x)
    def midPointFrom(that:Point):MidPoint = MidPoint((x - that.x) * (x - that.x) + (y - that.y) * (y - that.y), Point((x + that.x) / 2, (y + that.y) / 2), new Gradient(x - that.x, y - that.y))
  }
  case class MidPoint(lengthSquare:Double, midPoint:Point, gradient:Gradient) extends Ordered[MidPoint]{
    override def compare(that: MidPoint): Int =
      if (lengthSquare == that.lengthSquare)
        if (midPoint == that.midPoint) gradient.compare(that.gradient)
        else midPoint.compare(that.midPoint)
      else lengthSquare.compare(that.lengthSquare)
    def toSquareArea:Int = lengthSquare.toInt / 2
  }
  class Gradient(diffX:Double, diffY:Double) extends Ordered[Gradient]{
    val x = diffX.abs
    val y = diffX.signum * diffY
    override def compare(that: Gradient): Int = toComparableValue.compare(that.toComparableValue)
    private def toComparableValue:Double = if (y > 0) x / y else y.abs / x

    override def equals(obj: scala.Any): Boolean = obj match{
      case that:Gradient ⇒ this.compare(that) == 0
      case _ ⇒ super.equals(obj)
    }
    override def toString: String = s"(x=$x,y=$y)"
  }
  def solve(narg:Int):Unit = {
    var n = narg
    while (n != 0) {
      val pilars = Array.tabulate(n) { _ ⇒
        val Array(x, y) = readLine().split(' ').map(_.toInt)
        Point(x, y)
      }
      val midPoints = (for (i ← 0 until n; j ← (i + 1) until n) yield {
        pilars(i).midPointFrom(pilars(j))
      }).sorted(Ordering[MidPoint].reverse).toArray
      println((1 until midPoints.size).find(i ⇒ midPoints(i) == midPoints(i - 1)).map { i ⇒ midPoints(i).toSquareArea }.getOrElse(0))
      n = readLine().toInt
    }
  }
  solve(readLine().toInt)
}
