Jessica is going to see her family overseas today, so she goes
to the local gift shop to buy some souvenirs. There are **N** souvenirs
on the shelf, numbered 1, 2, ..., **N** from left to right. Souvenirs come
in different types, which are denoted by positive integers. Jessica is
in a hurry, so she can take only a consecutive interval of souvenirs.
Formally, Jessica selects two indices, *l* and *r*, and takes
all of the souvenirs numbered *l, l+1, ..., r-1, r*. Also, due to
tax rules, airport security will throw away all souvenirs of a particular type if
Jessica has more than **S** of that type in the chosen interval.

For example, suppose **S** = 2, and Jessica brings six souvenirs: one of type 0,
two of type 1, and three of type 2. She will be allowed to keep the souvenir of type 0 and both
souvenirs of type 1, but she will lose all of the souvenirs of type 2!

Jessica needs to choose *l* and *r* such that she can take the maximum
number of souvenirs for her family. What is the maximum number of souvenirs she can bring?

*This mission was proposed by Himanshu Jaju and Sadia Nahreen for Google Kickstart Round B 2019.*

**Input: **

Two arguments:

- a list of positive integers, which represents the types of souvenirs on the shelf from left to right;
- a positive integer, the maximum amount of souvenirs of a single type in the chosen interval.

**Output: **

An integer, the maximum number of souvenirs...