#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <climits>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#define ALL(A)		(A).begin(),(A).end()
#define DUMP(A)    cout<<#A<<"="<<(A)<< endl
#define SIZE(A)    (int)((A).size())
using namespace std;
typedef long long ll;

int main(){
    int dp[100][100];
    int n;
    scanf("%d",&n);
    if(n==1){
        printf("0\n");
        return 0;
    }
    int ue[100],sita[100];
    for(int i=0;i<n;i++){
        scanf("%d%d",&ue[i],&sita[i]);
        dp[i][i]=0;
    }
    for(int kan=1;kan<=n-1;kan++){
        for(int i=0;i<n-kan;i++){
            int mi=INT_MAX;
            for(int j=i;j+1<=i+kan;j++){
                mi=min(mi,dp[i][j]+dp[j+1][i+kan]+ue[i]*sita[j]*ue[j+1]*sita[i+kan]);
            }
            dp[i][i+kan]=mi;
        }
    }
    printf("%d\n",dp[0][n-1]);
}