//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ int N, M; cin >> N >> M; ll sum = 0; vector W(N); for(int i = 0; i < N; i++){ cin >> W[i]; sum += W[i]; } if(sum == 0){ for(int i = 0; i < N; i++){ print(" "); i+1 == N ? printl() : prints(); } return 0; } double hev = (double)M/(double)sum; fix(0); for(int i = 0; i < N; i++){ print(hev*W[i]); i+1 == N ? printl() : prints(); } return 0; }