# HackerRank collections.Counter() solution in Python

In this HackerRank collection.counter() problem solution in python, A counter is a container that stores elements as dictionary keys, and their counts are stored as dictionary values.

Raghu is a shoe shop owner. His shop has X number of shoes.

He has a list containing the size of each shoe he has in his shop.

There are N number of customers who are willing to pay xi amount of money only if they get the shoe of their desired size.

## Problem solution in Python 2 programming.

```from collections import Counter

X = int(input())
sizes = Counter(map(int,raw_input().split()))
N = int(input())
earnings = 0

for i in xrange(N):
size,x = map(int,raw_input().split())
if sizes[size]>0:
sizes[size]-=1
earnings += x

print earnings
```

## Problem solution in Python 3 programming.

```# Enter your code here. Read input from STDIN. Print output to STDOUT
import collections

numShoes = int(input())
shoes = collections.Counter(map(int, input().split()))
numCust = int(input())

income = 0

for i in range(numCust):
size, price = map(int, input().split())
if shoes[size]:
income += price
shoes[size] -= 1

print(income)```

### Problem solution in pypy programming.

```import collections

numShoes = int(raw_input())
shoes = collections.Counter(map(int, raw_input().split()))
numCust = int(raw_input())

money = 0

for i in range(numCust):
size, price = map(int, raw_input().split())
if shoes[size]:
money += price
shoes[size] -= 1

print money

```

### Problem solution in pypy3 programming.

```# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import Counter

num_shoes = int(input())
sizes = [int(i) for i in input().split()] #2 3 4 5 6 8 7 6 5 18
num_cust = int(input())

d = Counter(sizes)

earn = 0
for i in range(num_cust):
#while(input() != null)
req_i = [int(j) for j in input().split()]
req_i_size = req_i
if req_i_size in d.keys():
if d[req_i_size] > 0:
earn += req_i
d[req_i_size] -= 1

print(earn)        ```