var x,v,a:array[1..4] of integer; i:1..4; max:byte; procedure afisare; var i:1..4; suma:byte; begin suma:=v[1]*v[2]+v[3]*v[4]; if suma>max then begin max:=suma; for i:=1 to 4 do a[i]:=v[i]; end; end; function valid (k:byte):boolean; var i:1..4; ok:boolean; begin i:=1; ok:=true; while (i<=k-1) and (ok=true) do begin if v[i]=v[k] then ok:=false; i:=i+1; end; valid:=ok; end; procedure bak (k:byte); var i:1..4; begin for i:=1 to 4 do begin v[k]:=x[i]; if valid(k) then if k=4 then afisare else bak(k+1); end; end; begin max:=0; for i:=1 to 4 do read(x[i]); bak(1); writeln(max); end.