#include <iostream>
#include <fstream>
using namespace std;

// Rezolvare: -Aflam prima valoare maxima si prima valoare minima
//            -Aflam a-2-a valoare maxima si a-2-a valoare minima
//            -Rezultatul va fi astfel: (max*max1)+(min1*min);

int main()
{
	int numbers[4],max=0,min=101,i=0,max1=0,min1=101,pozMax=0,pozMin=0;
	ifstream in;  in.open("xorin.in",fstream::in);
	ofstream out; out.open("xorin.out",fstream::out);

	// max si min
	for(i=0;i<4;i++)
	{
		in>>numbers[i];
		if(numbers[i]>max) { max=numbers[i]; pozMax=i; }
		if(numbers[i]<min) { min=numbers[i]; pozMin=i; }
	}
	// max 1 si min 1
	for(i=0;i<4;i++)
	{
		if(numbers[i]>max1 && i!=pozMax) { max1=numbers[i];}
		if(numbers[i]<min1 && i!=pozMin) { min1=numbers[i];}
	}

	out<<(max*max1)+(min1*min); // Exemplu: 4 3 2 1 -> 4*3+2*1
}