#include <bits/stdc++.h>
const int maxn = 1000010;
long long a[maxn];
int main() {
  long long n, r, i, ans, pos, to;
  scanf("%I64d%I64d", &n, &r);
  ans = 0;
  for (i = 0; i < (1 << n); i++) {
    scanf("%I64d", &a[i]);
    ans += a[i];
  }
  printf("%.6lf\n", (ans * 1.0) / (1 << n));
  for (i = 1; i <= r; i++) {
    scanf("%I64d%I64d", &pos, &to);
    ans = ans - a[pos] + to;
    printf("%.6lf\n", (ans * 1.0) / (1 << n));
    a[pos] = to;
  }
  return 0;
}
