using System; class ChangeEvenBits { static void Main() { int numberOfInputs = int.Parse(Console.ReadLine()); int[] numbers = new int[numberOfInputs]; for (int i = 0; i < numberOfInputs; i++) { numbers[i] = int.Parse(Console.ReadLine()); } int numberToChange = int.Parse(Console.ReadLine()); int[] numberOfBits = new int[numberOfInputs]; int bitsChanged = 0; for (int i = 0; i < numberOfInputs; i++) { numberOfBits[i] = getBitsCount(numbers[i]); } for (int i = 0; i < numberOfInputs; i++) { int bitsToChange = numberOfBits[i]; for (int j = 0; j < bitsToChange; j++) { int currentBit = (numberToChange >> j*2) & 1; int mask = 1 << j*2; if (currentBit == 0) { bitsChanged++; numberToChange = numberToChange | mask; } } } Console.WriteLine(numberToChange); Console.WriteLine(bitsChanged); } public static int getBitsCount(int number) { int count = 0; if (number == 0) { return 1; } while (number > 0) { count++; number = number >> 1; } return count; } }