Problem: Problem

You brought a flat, holeless donut with a $ W $ horizontal $ H $ vertical $ H $ rectangle for ACPC.
Place this donut on the $ 2 $ dimension plane coordinate $ (0,0) $ with the center of the donut so that the side of length H and the $ y $ axis are parallel.


On the ACPC $ 1 $ day you ate a donut that was in the range of $ w $ vertical $ h $ centered on the coordinates ($ x $, $ y $).
If you want to eat the same amount on the $ 2 $ and $ 3 $ days, divide the donut by a straight line passing through the coordinates $ (0,0) $, and the sum of the donut areas in the area on one side of the straight line is on the other side I want it to be equal to the sum of the donut areas in the area of.


Find one slope of such a straight line.

Constraints

The input satisfies the following conditions.

* $ 1 \ lt h \ lt H \ lt 10 ^ 6 $
* $ 1 \ lt w \ lt W \ lt 10 ^ 6 $
* $ 1 \ le y \ le (h / 2 + H-1)-H / 2 $
* $ 1 \ le x \ le (w / 2 + W-1)-W / 2 $
* $ W $, $ H $, $ w $, $ h $ are even numbers

Input

The input is given in the following format.


$ W $ $ H $ $ w $ $ h $ $ x $ $ y $


Output

Output the slope of a straight line in one line. If the absolute error or relative error is $ 10 ^ {-6} $ or less, the answer is correct.

Examples

Input

6000 5000 20 10 400 300


Output

0.75


Input

10 10 8 8 8 8


Output

1

Solution (in CPP):

Solution:
/*  -*- coding: utf-8 -*-
 *
 * 3043.cc: 
 */

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>
 
using namespace std;

/* constant */

const int MAX_N = 100;

typedef long long ll;

const int INF = 1 << 30;
const ll LINF = 1LL << 60;

/* typedef */

typedef vector<int> vi;
typedef queue<int> qi;
typedef pair<int,int> pii;

/* global variables */

/* subroutines */

/* main */

int main() {
  int w, h, sw, sh, x, y;
  scanf("%d%d%d%d%d%d", &w, &h, &sw, &sh, &x, &y);

  int x0 = - w / 2, y0 = -h / 2, x1 = w / 2, y1 = h / 2;
  int sx0 = x - sw / 2, sy0 = y - sh / 2, sx1 = x + sw / 2, sy1 = y + sh / 2;
  //printf("(%d,%d)-(%d,%d)\n", x0, y0, x1, y1);
  //printf("(%d,%d)-(%d,%d)\n", sx0, sy0, sx1, sy1);

  if (sx0 < x0) sx0 = x0;
  if (sy0 < y0) sy0 = y0;
  if (sx1 > x1) sx1 = x1;
  if (sy1 > y1) sy1 = y1;
  //printf("(%d,%d)-(%d,%d)\n", sx0, sy0, sx1, sy1);

  double dx = 0.5 * (sx0 + sx1), dy = 0.5 * (sy0 + sy1);
  printf("%.8lf\n", dy / dx);
  return 0;
}