import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int makeFrames(ArrayList<Integer> a) {
int n=a.size();
HashMap
<Integer,Integer
> h
=new HashMap
<>(); for(int i=0;i<n;i++){
int val=a.get(i);
if(h.containsKey(val)) h.put(val,h.get(val)+1);
else h.put(val,1);
}
if(h.size()==1) return h.get(a.get(0))/2;
//--------------------------------------------------------
int c=0;
ArrayList<Integer> freq=new ArrayList<>();
freq.add(h.get(num));
}
//-------------------------------------------------------
int i=0,j=1,fir=0,sec=0;
//------------------------------------------------
while(j<freq.size()){
fir=freq.get(i)/2;
//----------------------------------
while(j<freq.size()){
sec=freq.get(j)/2;
//System.out.println("FDFSDf "+i+" "+j+" "+fir+" "+sec);
if(fir<1 || sec<1) break;
//System.out.println(i+" "+j+" "+freq.get(i)+" "+freq.get(j)+" "+fir+" "+sec);
if(sec>=fir){
c+=fir;sec-=fir;
freq.set(j,sec*2);
//System.out.println("sec "+sec);
break;
}
else{
c+=sec;fir-=sec;
freq.set(i,fir*2);
}
j++;
}
//-----------------------------------------------------
//System.out.println("c: "+c);
//System.out.println(i+" "+j);
i=j;j=j+1;
}
System.
out.
println(i
+" "+j
+" "+fir
+" "+sec
+" c: "+c
); if(fir>=2) c+=fir/2;
else if(sec>=2) c+=sec/2;
return c;
}
{
ArrayList<Integer> a=new ArrayList<>();
Scanner sc
=new Scanner
(System.
in); while(sc.hasNext())a.add(sc.nextInt());
System.
out.
println(makeFrames
(a
)); // your code goes here
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgaW50IG1ha2VGcmFtZXMoQXJyYXlMaXN0PEludGVnZXI+IGEpIHsKICAgICAgaW50IG49YS5zaXplKCk7IAogICAgICBIYXNoTWFwPEludGVnZXIsSW50ZWdlcj4gaD1uZXcgSGFzaE1hcDw+KCk7CiAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICAgaW50IHZhbD1hLmdldChpKTsKICAgICAgICAgIGlmKGguY29udGFpbnNLZXkodmFsKSkgaC5wdXQodmFsLGguZ2V0KHZhbCkrMSk7CiAgICAgICAgICBlbHNlIGgucHV0KHZhbCwxKTsKICAgICAgfQogICAgICBpZihoLnNpemUoKT09MSkgcmV0dXJuIGguZ2V0KGEuZ2V0KDApKS8yOwogIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgCiAgICAgIGludCBjPTA7CiAgICAgIEFycmF5TGlzdDxJbnRlZ2VyPiBmcmVxPW5ldyBBcnJheUxpc3Q8PigpOwogICAgICBmb3IoSW50ZWdlciBudW06aC5rZXlTZXQoKSl7CiAgICAgICAgICBmcmVxLmFkZChoLmdldChudW0pKTsKICAgICAgfQogICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAKICAgICAgaW50IGk9MCxqPTEsZmlyPTAsc2VjPTA7CiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihmcmVxKTsKICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAKICAgICAgd2hpbGUoajxmcmVxLnNpemUoKSl7CiAgICAgICAgICBmaXI9ZnJlcS5nZXQoaSkvMjsKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCiAgICAgICAgICB3aGlsZShqPGZyZXEuc2l6ZSgpKXsKICAgICAgICAgICAgICBzZWM9ZnJlcS5nZXQoaikvMjsKCiAgICAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oIkZERlNEZiAgICIraSsiICIraisiICIrZmlyKyIgIitzZWMpOwogICAgICAgICAgICAgIGlmKGZpcjwxIHx8IHNlYzwxKSBicmVhazsKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAvL1N5c3RlbS5vdXQucHJpbnRsbihpKyIgIitqKyIgIitmcmVxLmdldChpKSsiICIrZnJlcS5nZXQoaikrIiAiK2ZpcisiICIrc2VjKTsKICAgICAgICAgICAgICBpZihzZWM+PWZpcil7CiAgICAgICAgICAgICAgICAgIGMrPWZpcjtzZWMtPWZpcjsKICAgICAgICAgICAgICAgICAgZnJlcS5zZXQoaixzZWMqMik7CiAgICAgICAgICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJzZWMgICIrc2VjKTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgIGMrPXNlYztmaXItPXNlYzsKICAgICAgICAgICAgICAgICAgZnJlcS5zZXQoaSxmaXIqMik7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGorKzsKICAgICAgICAgICAgICAKICAgICAgICAgIH0KICAgICAgICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJjOiAiK2MpOwogICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oaSsiICIraik7CiAgICAgICAgICAKICAgICAgICAgIGk9ajtqPWorMTsKICAgICAgfQogICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaSsiICIraisiICIrZmlyKyIgIitzZWMrIiBjOiAiK2MpOwogICAgICBpZihmaXI+PTIpIGMrPWZpci8yOwogICAgICBlbHNlIGlmKHNlYz49MikgYys9c2VjLzI7CiAgICAgIHJldHVybiBjOwogIH0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUFycmF5TGlzdDxJbnRlZ2VyPiBhPW5ldyBBcnJheUxpc3Q8PigpOwoJCVNjYW5uZXIgc2M9bmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQl3aGlsZShzYy5oYXNOZXh0KCkpYS5hZGQoc2MubmV4dEludCgpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4obWFrZUZyYW1lcyhhKSk7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJfQp9