CF487B Strip

Description

Alexandra has a paper strip with $ n $ numbers on it. Let's call them $ a_{i} $ from left to right. Now Alexandra wants to split it into some pieces (possibly $ 1 $ ). For each piece of strip, it must satisfy: - Each piece should contain at least $ l $ numbers. - The difference between the maximal and the minimal number on the piece should be at most $ s $ . Please help Alexandra to find the minimal number of pieces meeting the condition above.

Input Format

The first line contains three space-separated integers $n,s,l (1\le n\le10^5, 0\le s\le10^9, 1\le l\le10^5)$. The second line contains $n$ integers $a_i$ separated by spaces $(-10^9\le a_i\le10^9)$.

Output Format

Output the minimal number of strip pieces. If there are no ways to split the strip, output -1.

Explanation/Hint

For the first sample, we can split the strip into $3$ pieces: $[1,3,1], [2,4], [1,2]$. For the second sample, we can't let $1$ and $100$ be on the same piece, so no solution exists.