#include <bits/stdc++.h>
using namespace std;
const int INF = (int)1E9;
const long long LINF = (long long)1E18;
int INP, AM;
char BUF[(1 << 10) + 1], *inp = BUF;
template <typename T>
T gcd(T a, T b) {
  return (b == 0) ? abs(a) : gcd(b, a % b);
}
template <typename T>
inline T lcm(T a, T b) {
  return a / gcd(a, b) * b;
}
template <typename T>
inline T sqr(T x) {
  return x * x;
}
const char DEBUG_PARAM[] = "__LOCAL_TESTING";
const char IN[] = "input.txt";
const char OUT[] = "output.txt";
int ntest = 0, test;
inline void init();
inline void run();
inline void stop() { ntest = test - 1; }
int main(int argc, char* argv[]) {
  if (argc > 1 && strcmp(argv[1], DEBUG_PARAM) == 0) {
    freopen(IN, "r", stdin);
  }
  init();
  if (ntest == 0) {
    puts("ntest = ?");
    return 0;
  }
  for (test = 1; test <= ntest; test++) {
    run();
  }
  return 0;
}
const int dx[] = {-1, 0, 0, 1};
const int dy[] = {0, -1, 1, 0};
const long double EPS = 1E-9;
const long long MODULO = 1000000007LL;
inline void init() { ntest = 1; }
double s;
void run() {
  cin >> s;
  double a, b, c;
  cin >> a >> b >> c;
  if (a == 0 && b == 0 && c == 0) {
    cout << "0 0 0";
    return;
  }
  double sum = a + b + c;
  printf("%.20lf %.20lf %.20lf", a / sum * s, b / sum * s, c / sum * s);
}
