Please, try EDU on Codeforces! New educational section with videos, subtitles, texts, and problems.
×

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

B. Cats Transport

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputZxr960115 is owner of a large farm. He feeds *m* cute cats and employs *p* feeders. There's a straight road across the farm and *n* hills along the road, numbered from 1 to *n* from left to right. The distance between hill *i* and (*i* - 1) is *d* _{ i} meters. The feeders live in hill 1.

One day, the cats went out to play. Cat *i* went on a trip to hill *h* _{ i}, finished its trip at time *t* _{ i}, and then waited at hill *h* _{ i} for a feeder. The feeders must take all the cats. Each feeder goes straightly from hill 1 to *n* without waiting at a hill and takes all the waiting cats at each hill away. Feeders walk at a speed of 1 meter per unit time and are strong enough to take as many cats as they want.

For example, suppose we have two hills (*d* _{2} = 1) and one cat that finished its trip at time 3 at hill 2 (*h* _{1} = 2). Then if the feeder leaves hill 1 at time 2 or at time 3, he can take this cat, but if he leaves hill 1 at time 1 he can't take it. If the feeder leaves hill 1 at time 2, the cat waits him for 0 time units, if the feeder leaves hill 1 at time 3, the cat waits him for 1 time units.

Your task is to schedule the time leaving from hill 1 for each feeder so that the sum of the waiting time of all cats is minimized.

Input

The first line of the input contains three integers *n*, *m*, *p* (2 ≤ *n* ≤ 10^{5}, 1 ≤ *m* ≤ 10^{5}, 1 ≤ *p* ≤ 100).

The second line contains *n* - 1 positive integers *d* _{2}, *d* _{3}, ..., *d* _{ n} (1 ≤ *d* _{ i} < 10^{4}).

Each of the next *m* lines contains two integers *h* _{ i} and *t* _{ i} (1 ≤ *h* _{ i} ≤ *n*, 0 ≤ *t* _{ i} ≤ 10^{9}).

Output

Output an integer, the minimum sum of waiting time of all cats.

Please, do not write the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

Examples

Input

4 6 2

1 3 5

1 0

2 1

4 9

1 10

2 10

3 12

Output

3

Codeforces (c) Copyright 2010-2020 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jul/09/2020 15:23:02 (i1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|