¡Tres arreglos!

Dados tres arreglos de enteros, devuelve la suma de los enteros comunes a los tres arreglos.

Los valores duplicados conservan su multiplicidad: cada valor se suma tantas veces como el menor número de apariciones en cualquiera de los arreglos de entrada.

Ejemplos

Program.sumCommon(new int[] {1, 2, 3}, new int[] {5, 3, 2}, new int[] {7, 3, 2}); // 5
// 2 y 3 son comunes a los tres arreglos.

Program.sumCommon(new int[] {1, 2, 2, 3}, new int[] {5, 3, 2, 2}, new int[] {7, 3, 2, 2}); // 7
// 2, 2 y 3 son comunes a los tres arreglos.

Program.sumCommon(new int[] {1}, new int[] {1}, new int[] {2}); // 0