Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-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

C. Buns

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputLavrenty, a baker, is going to make several buns with stuffings and sell them.

Lavrenty has *n* grams of dough as well as *m* different stuffing types. The stuffing types are numerated from 1 to *m*. Lavrenty knows that he has *a*_{i} grams left of the *i*-th stuffing. It takes exactly *b*_{i} grams of stuffing *i* and *c*_{i} grams of dough to cook a bun with the *i*-th stuffing. Such bun can be sold for *d*_{i} tugriks.

Also he can make buns without stuffings. Each of such buns requires *c*_{0} grams of dough and it can be sold for *d*_{0} tugriks. So Lavrenty can cook any number of buns with different stuffings or without it unless he runs out of dough and the stuffings. Lavrenty throws away all excess material left after baking.

Find the maximum number of tugriks Lavrenty can earn.

Input

The first line contains 4 integers *n*, *m*, *c*_{0} and *d*_{0} (1 ≤ *n* ≤ 1000, 1 ≤ *m* ≤ 10, 1 ≤ *c*_{0}, *d*_{0} ≤ 100). Each of the following *m* lines contains 4 integers. The *i*-th line contains numbers *a*_{i}, *b*_{i}, *c*_{i} and *d*_{i} (1 ≤ *a*_{i}, *b*_{i}, *c*_{i}, *d*_{i} ≤ 100).

Output

Print the only number — the maximum number of tugriks Lavrenty can earn.

Examples

Input

10 2 2 1

7 3 2 100

12 3 1 10

Output

241

Input

100 1 25 50

15 5 20 10

Output

200

Note

To get the maximum number of tugriks in the first sample, you need to cook 2 buns with stuffing 1, 4 buns with stuffing 2 and a bun without any stuffing.

In the second sample Lavrenty should cook 4 buns without stuffings.

Codeforces (c) Copyright 2010-2018 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jan/17/2019 17:23:18 (d2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|