In this part public static int min(int a, int b, int c, int d) { i copied from someone else in another question to solve it return min(min (a, b), min (c,d)); obviously the min (a,b) part i made was the classical previous examples we already did int m2; if (a<b) m2=a else m2=b return m2 So.....my question is.......why this min(c,d) part works?