using System;
public class Program
{
public static void Main()
Console.WriteLine("Hello World");
}
// solution 2
/*
function solution(A) {
// write your code in JavaScript (Node.js 8.9.4)
let C = [];
const len = A.length;
let leader = 0;
let numberOfLeader = 0;
//let hasLeader = false;
let counting = 0;
const halfOfA = len / 2;
for(let i = 0; i < len; i++){
const value = A[i];
if (!C[value]) C[value] = 0;
C[value]++;
if (C[value] > halfOfA){
leader = value;
numberOfLeader = C[leader];
if (numberOfLeader === 0) return 0;
let equiLeader = 0;
if (value === leader) {
counting++;
};
const halfOfLeft = Math.floor( (i + 1) / 2);
if (counting > halfOfLeft){ // leader of left
const right = numberOfLeader - counting;
const halfOfRight = Math.floor ((len - i - 1) / 2);
if (right > halfOfRight){ // leader of right
equiLeader++;
return equiLeader;
*/
/* //JS
let B = [];
let leaderS = 0;
let hasLeaderS = false;
if (!B[value]) B[value] = 0;
B[value]++;
const half = Math.floor( (i + 1) / 2);
// can move out
if (B[value] > half){
leaderS = value;
hasLeaderS = true;
} else {
if (hasLeaderS && B[leaderS] <= half){
leaderS = 0;
hasLeaderS = false;
if (hasLeaderS && C[leaderS]){
const right = C[leaderS] - B[leaderS];
if (right > halfOfRight){
return counting;