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 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

E. Power Defence

time limit per test

3 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputVasya plays the Power Defence.

He must pass the last level of the game. In order to do this he must kill the Main Villain, who moves in a straight line at speed 1 meter per second from the point ( - ∞, 0) to the point ( + ∞, 0) of the game world. In the points (*x*, 1) and (*x*, - 1), where *x* is an integer number, Vasya can build towers of three types: fire-tower, electric-tower or freezing-tower. However, it is not allowed to build two towers at the same point. Towers of each type have a certain action radius and the value of damage per second (except freezing-tower). If at some point the Main Villain is in the range of action of *k* freezing towers then his speed is decreased by *k* + 1 times.

The allowed number of towers of each type is known. It is necessary to determine the maximum possible damage we can inflict on the Main Villain.

All distances in the problem are given in meters. The size of the Main Villain and the towers are so small, that they can be considered as points on the plane. The Main Villain is in the action radius of a tower if the distance between him and tower is less than or equal to the action radius of the tower.

Input

The first line contains three integer numbers *nf*, *ne* and *ns* — the maximum number of fire-towers, electric-towers and freezing-towers that can be built (0 ≤ *nf*, *ne*, *ns* ≤ 20, 1 ≤ *nf* + *ne* + *ns* ≤ 20). The numbers are separated with single spaces.

The second line contains three integer numbers *rf*, *re* and *rs* (1 ≤ *rf*, *re*, *rs* ≤ 1000) — the action radii of fire-towers, electric-towers and freezing-towers. The numbers are separated with single spaces.

The third line contains two integer numbers *df* and *de* (1 ≤ *df*, *de* ≤ 1000) — the damage a fire-tower and an electronic-tower can inflict on the Main Villain per second (in the case when the Main Villain is in the action radius of the tower). The numbers are separated with single space.

Output

Print the only real number — the maximum possible damage to the Main Villain with absolute or relative error not more than 10^{ - 6}.

Examples

Input

1 0 0

10 10 10

100 100

Output

1989.97487421

Input

1 0 1

10 10 10

100 100

Output

3979.94974843

Note

In the first sample we've got one fire-tower that always inflicts the same damage, independently of its position.

In the second sample we've got another freezing-tower of the same action radius. If we build the two towers opposite each other, then the Main Villain's speed will be two times lower, whenever he enters the fire-tower's action radius. That means that the enemy will be inflicted with twice more damage.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/23/2019 15:22:08 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|