#include <iostream>
#include <vector>
#include <cmath>

using namespace std;
using ll = long long;

ll rt(const ll n)
{
    ll inf = -1;
    ll sup = 2 * sqrt(n);
    while (sup - inf > 1) {
        const ll mid = (sup + inf) / 2;
        if (mid * mid == n) {
            return mid;
        } else if (mid * mid > n) {
            sup = mid;
        } else {
            inf = mid;
        }
    }
    return inf;
}

int main()
{
    ll W, H, V, T, x, y, p, q;
    cin >> W >> H >> V >> T >> x >> y >> p >> q;
    const ll D = V * T;
    const ll INF = x - D;
    const ll SUP = x + D;
    ll ans = 0;
    for (int i = 0; i < 2; i++) {
        const ll X = (i == 0 ? p : 2 * W - p);
        const ll Xinf = ceil((double)(-X + INF) / (2 * W)) * (2 * W) + X;
        const ll Xsup = floor((double)(-X + SUP) / (2 * W)) * (2 * W) + X;
        for (int j = 0; j < 2; j++) {
            const ll Y = (j == 0 ? q : 2 * H - q);
            for (ll px = Xinf; px <= Xsup; px += 2 * W) {
                const ll dx = abs(px - x);
                if (dx > V * T) {
                    continue;
                } else {
                    const ll dy = rt(D * D - dx * dx);
                    const ll Yinf = y - dy;
                    const ll Ysup = y + dy;
                    const ll kinf = (ll)ceil((double)(Yinf - Y) / (2 * H));
                    const ll ksup = (ll)floor((double)(Ysup - Y) / (2 * H));
                    // cerr << "(" << i << ", " << j << ")" << endl;
                    // cerr << px << endl;
                    // cerr << Yinf << " " << Ysup << endl;
                    // cerr << kinf << " " << ksup << endl;
                    ans += ksup - kinf + 1;
                }
            }
        }
    }
    cout << ans << endl;

    return 0;
}

