public static int ComputeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2)
int lbx = Math.Max(ax1, bx1);
int lby = Math.Max(ay1, by1);
int rtx = Math.Min(ax2, bx2);
int rty = Math.Min(ay2, by2);
int xOverlap = rtx - lbx;
int yOverlap = rty - lby;
int areaA = (ax2 - ax1) * (ay2 - ay1);
int areaB = (bx2 - bx1) * (by2 - by1);
if(xOverlap <= 0 || yOverlap <= 0)
return areaA + areaB - xOverlap * yOverlap;
public static void Main()
Console.WriteLine("UniLecs");
Console.WriteLine(ComputeArea(-3, 0, 3, 4, 0, -1, 9, 2).ToString());