PivotOJ

Failing Factory

시간 제한: 4000ms메모리 제한: 1024MB출처: BAPC 2024BOJ 32600

문제

The gigafactory for your new range of Battery-Assisted Postal Cars is finally up and running. This manufacturing plant is a highly complex facility, consisting of many individual steps, where the parts of each car are milled, stamped, welded, soldered, screwed, glued, assembled, tested, detailed, layered, painted, and cleaned. Every step is optimized to the tiniest detail, making them very complicated.

As you are preparing for a visit from your main investor, alarm bells start going off. One of the steps failed, causing a cascade of failures across the factory! After hurriedly resolving the failures, panic creeps up to you: what if a failure happens during the visit of the investor?

Currently, all processes in the factory are working, but your engineers determined that each of them has some independent probability of failing before the visit. As the visit is soon, there will be no time for any repairs, and as soon as a step fails, this will quickly halt all dependent steps as well.

Thus, you decide to show only a single processing step of your factory, and specifically, the one with the smallest probability of failing. As an example, consider the second sample case. The probability that step 11 fails is 0.720.72, but step 22 is slightly more stable with a failure probability of 0.60.6. Thus, you show step 22 to your investor, with a probability of 0.40.4 that it will not fail.

입력

The input consists of:

  • One line with two integers nn and mm (1n1051 \leq n \leq 10^5, 0m1050 \leq m \leq 10^5), the number of steps and the number of dependencies between steps.
  • One line with nn floating point numbers pp (0p10 \leq p \leq 1), the individual failure probability of each step. Each probability is given in decimal form1 with exactly three digits after the decimal point.
  • mm lines, each with two integers aa and bb (1a,bn1 \leq a, b \leq n, aba \neq b), indicating that step aa depends on step bb: failure of step bb will cause failure of step aa. A direct dependency of one step on another occurs at most once. Cyclic dependencies are allowed.

1When a floating-point number is written in decimal form, it is not in scientific notation.

출력

For the step with the smallest probability of failing, output the probability that it will not fail.

Your answer should have an absolute error of at most 1020010^{-200} or a relative error of at most 10610^{-6}.

예제

예제 1

입력
2 2
0.600 0.300
1 2
2 1
출력
0.28

예제 2

입력
2 1
0.300 0.600
1 2
출력
0.4

예제 3

입력
4 3
0.999 0.994 0.998 0.996
1 2
2 3
3 4
출력
0.004

예제 4

입력
4 4
0.999 0.994 0.998 0.996
1 2
2 3
3 4
4 1
출력
4.8e-11
코드를 제출하려면 로그인하세요.