#include <iostream> #include <vector> #include <list> #include <algorithm> #include <string> #include <sstream> #include <stack> #include <iomanip> #include <numeric> #include <queue> #include <climits> #include <set> #include <complex> #include <cmath> #include <cstring> #include <map> using namespace std; using ll = long long; #define MOD 1000000007 #define INF 1LL << 59 using ld = long double; bool operator<(const pair<int, int> &a, const pair<int, int> &b) { if (a.first == b.first) { return b.second > a.second; } return a.first < b.first; } double a[11]; int main() { std::ios::sync_with_stdio(false); std::cin.tie(0); cout << fixed << setprecision(5); int n; cin >> n; double ans1 = 0.0, ans2 = 0.0; int B; cin >> B; for (int i = 0; i < n; ++i) cin >> a[i]; for (int i = 0; i < n; ++i) { ans1 += a[i] * pow(B, a[i] - 1); } for (int i = 0; i < n; ++i) { if (a[i] == -1.0) { ans2 += log(abs(B)); } else ans2 += pow(B, a[i] + 1) / (a[i] + 1); } cout << ans1 << "\n" << ans2 << endl; return 0; }