#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
clock_t clk = clock();
long long int i, j;
void solve(void);
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  int t = 1;
  while (t--) solve();
  return 0;
}
bool func(pair<double, int> p1, pair<double, int> p2) {
  if (p1.first != p2.first)
    return p1.first > p2.first;
  else
    return p1.second < p2.second;
}
void solve() {
  int n, t1, t2;
  float k;
  cin >> n >> t1 >> t2 >> k;
  double arr[n][2];
  vector<pair<double, int> > v;
  for (i = 0; i <= n - 1; ++i) {
    cin >> arr[i][0] >> arr[i][1];
    double val1 = (100 - k) * arr[i][0] * t1;
    val1 /= 100;
    val1 += arr[i][1] * t2;
    double val2 = (100 - k) * arr[i][1] * t1;
    val2 /= 100;
    val2 += arr[i][0] * t2;
    if (val2 > val1)
      arr[i][0] = arr[i][0] + arr[i][1] - (arr[i][1] = arr[i][0]);
    v.push_back({((val1) > (val2) ? (val1) : (val2)), i});
  }
  sort(v.begin(), v.end(), func);
  for (i = 0; i <= (int)v.size() - 1; ++i)
    cout << v[i].second + 1 << " " << fixed << setprecision(2) << v[i].first
         << "\n";
}
