#include <iostream>
#include <string>
#include <map>
#include <set>
#include <algorithm>
#include <utility>
#include <queue>
#include <deque>
#include <iomanip>
#include <cmath>

// 最大公約数
template<typename T> T gcd(T a, T b)
{
	if (a < b) {
		return gcd(b, a);
	}
	else {
		const T mod = a % b;
		if (mod == 0) {
			return b;
		}
		else {
			return gcd(b, mod);
		}
	}
}

int main()
{
	int N;
	std::cin >> N;
	double m = 0;
	double y = 0;
	double c = 0;
	for (int64_t i = 0; i < N; ++i) {
		double x;
		std::cin >> x;
		m += abs(x);
		y += x * x;
		c = std::max<double>(c, abs(x));
	}
	y = sqrt(y);
	std::cout << std::setprecision(15)  << m << "\n" << y << "\n" << c << std::endl;

	return 0;
}

#include <bits/stdc++.h>
 
using namespace std;
 
int main() {int N;cin>>N;
            vector<long long>A(N),B(N);
            for(int i=0;i<N;i++)
              cin>>A.at(i);
            for(int i=0;i<N;i++)
              cin>>B.at(i);
            long long c=0;
            int d=0;
            for(int i=0;i<N;i++)
              {d=max<long long>(d,A.at(i));
               c=max(c,d*B.at(i));
              cout<<c<<endl;}
 
}