public static void Main()
int[] input1 = {1,1,1,1,1,2,3,3};
int[] input2 = {1,1,2,2,2,2,2,3,3};
int[] input3 = {1,2,2,3,3,3,3,3};
FindFrequentForHalfNCeil(input1);
FindFrequentForHalfNCeil(input2);
FindFrequentForHalfNCeil(input3);
int[] input4 = {1,1,1,2,2,3,3,4};
int[] input5 = {1,1,2,2,2,3,3,4};
int[] input6 = {1,1,2,2,3,3,3,4};
FindFrequentForQuarterNCeil(input4);
FindFrequentForQuarterNCeil(input5);
FindFrequentForQuarterNCeil(input6);
int[] input7 = {1,1,1,2,3};
int[] input8 = {1,2,2,2,3};
int[] input9 = {1,2,3,3,3};
FindFrequentForQuarterNCeil(input7);
FindFrequentForQuarterNCeil(input8);
FindFrequentForQuarterNCeil(input9);
int[] input10 = {1,1,1,2,2,3,3};
int[] input11 = {1,1,2,2,2,3,3};
int[] input12 = {1,1,2,2,3,3,3};
FindFrequentForQuarterNCeil(input10);
FindFrequentForQuarterNCeil(input11);
FindFrequentForQuarterNCeil(input12);
int[] input13 = {1,1,1,1,2,2,2,3,3,3};
int[] input14 = {1,1,1,2,2,2,2,3,3,3};
int[] input15 = {1,1,1,2,2,2,3,3,3,3};
FindFrequentForQuarterNCeil(input13);
FindFrequentForQuarterNCeil(input14);
FindFrequentForQuarterNCeil(input15);
private static void FindFrequentForHalfNCeil(int[] input)
Console.WriteLine(input[0]);
Console.WriteLine(input[input.Length/2]);
else if(input[0] == input[1])
Console.WriteLine(input[0]);
private static void FindFrequentForQuarterNCeil(int[] input)
Console.WriteLine(input[0]);
int quarterBorder2 = input.Length/2;
if(input.Length % 2 == 0)
quarterBorder1 = (quarterBorder2-1)/2 + 1;
quarterBorder3 = quarterBorder1 + quarterBorder2-1;
quarterBorder1 = quarterBorder2/2+1;
quarterBorder3 = quarterBorder1 + quarterBorder2;
if(input[quarterBorder1] == input[quarterBorder1-1])
Console.WriteLine(input[quarterBorder1]);
else if (input[quarterBorder2] == input[quarterBorder2-1] && input[quarterBorder2] == input[quarterBorder3-1])
Console.WriteLine(input[quarterBorder2]);
else if (input[quarterBorder3] == input[quarterBorder3-1])
Console.WriteLine(input[quarterBorder3]);