/* Count frequency of each element*/
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
Scanner sc
= new Scanner
(System.
in); int size = sc.nextInt();
// now we are constructing input array and then populating it.
if(size==0) {
System.
out.
println("We cant check freq for empty array!"); return;
}
// declare array
int[] arr = new int[size];
// our code will do work even if arr[i]<0 elemnt
for(int idx=0; idx<size; idx++){
arr[idx] = sc.nextInt();
}
// now constructing our boolean array
boolean[] vis = new boolean[size];
// vis = [false, false, ... false];
// do my main logic
for( int i=0; i<size; i++ ){
//check if that index is already visited
if(vis[i]==false){
// ye hi to main chij bhulgaya tha
//agar wo indx encounterned nahi hai already to usko
// true/ visited mark karna hi hoga!
vis[i]=true;
int count=1;
for(int j=i+1; j<size; j++){
if(arr[i]==arr[j]){
vis[j] = true;
count++;
}
}
System.
out.
println("Frequency of "+arr
[i
]+" is = "+ count
); }
}
return;
}
}
LyogQ291bnQgZnJlcXVlbmN5IG9mIGVhY2ggZWxlbWVudCovCgppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQlpbnQgc2l6ZSA9IHNjLm5leHRJbnQoKTsKCQkvLyBub3cgd2UgYXJlIGNvbnN0cnVjdGluZyBpbnB1dCBhcnJheSBhbmQgdGhlbiBwb3B1bGF0aW5nIGl0LgoJCWlmKHNpemU9PTApIHsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJXZSBjYW50IGNoZWNrIGZyZXEgZm9yIGVtcHR5IGFycmF5ISIpOwoJCQlyZXR1cm47CgkJfQoJCS8vIGRlY2xhcmUgYXJyYXkKCQlpbnRbXSBhcnIgPSBuZXcgaW50W3NpemVdOwoJCS8vIG91ciBjb2RlIHdpbGwgZG8gd29yayBldmVuIGlmIGFycltpXTwwIGVsZW1udAoJCQoJCWZvcihpbnQgaWR4PTA7IGlkeDxzaXplOyBpZHgrKyl7CgkJCWFycltpZHhdID0gc2MubmV4dEludCgpOwoJCX0KCQkvLyBub3cgY29uc3RydWN0aW5nIG91ciBib29sZWFuIGFycmF5CgkJYm9vbGVhbltdIHZpcyA9IG5ldyBib29sZWFuW3NpemVdOwoJCQoJCUFycmF5cy5maWxsKHZpcywgZmFsc2UpOwoJCS8vIHZpcyA9IFtmYWxzZSwgZmFsc2UsIC4uLiBmYWxzZV07CgkJCgkJLy8gZG8gbXkgbWFpbiBsb2dpYwoJCWZvciggaW50IGk9MDsgaTxzaXplOyBpKysgKXsKCQkJLy9jaGVjayBpZiB0aGF0IGluZGV4IGlzIGFscmVhZHkgdmlzaXRlZAoJCQlpZih2aXNbaV09PWZhbHNlKXsKCQkJCS8vIHllIGhpIHRvIG1haW4gY2hpaiBiaHVsZ2F5YSB0aGEKCQkJCS8vYWdhciB3byBpbmR4IGVuY291bnRlcm5lZCBuYWhpIGhhaSBhbHJlYWR5IHRvIHVza28KCQkJCS8vIHRydWUvIHZpc2l0ZWQgbWFyayBrYXJuYSBoaSBob2dhIQoJCQkJdmlzW2ldPXRydWU7CgkJCQlpbnQgY291bnQ9MTsKCQkJCWZvcihpbnQgaj1pKzE7IGo8c2l6ZTsgaisrKXsKCQkJCQlpZihhcnJbaV09PWFycltqXSl7CgkJCQkJCXZpc1tqXSA9IHRydWU7CgkJCQkJCWNvdW50Kys7CgkJCQkJfQoJCQkJfQoJCQkJU3lzdGVtLm91dC5wcmludGxuKCJGcmVxdWVuY3kgb2YgIithcnJbaV0rIiBpcyA9ICIrIGNvdW50KTsKCQkJfQoJCX0KCQlyZXR1cm47CgkJCgl9Cn0=