#include <algorithm> #include <climits> #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <functional> #include <iostream> #include <map> #include <ostream> #include <queue> #include <stack> #include <string> #include <vector> #define INF 1000000000 #define rep(i,a,b) for (int i=(a);i<(b);i++) #define rev(i,a,b) for (int i=(a)-1;i>=b;i--) using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef queue<int> qi; typedef vector<int> vi; typedef vector<string> vs; int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { 1, 0, -1, 0 }; int main(){ cin.tie(0); ios::sync_with_stdio(false); int n,b; cin >> n >> b; vector<double> a(n); rep(i,0,n) cin >> a[i]; long double ansA = 0, ansB = 0; rep(i,0,n) { ansA += a[i] * pow(b, a[i]-1); if(a[i] == -1) ansB += log(b); else ansB += 1 / (a[i]+1) * pow(b, a[i]+1); } printf("%.15Lf\n%.15Lf\n", ansA, ansB); // cout << ansA << endl << ansB << endl; return 0; }