#include <bits/stdc++.h>
int Fun(const void *a, const void *b) { return *(int *)a - *(int *)b; }
int main() {
  long n, w, i;
  double p, q, Min, Res;
  long a[200050];
  scanf("%ld%ld", &n, &w);
  for (i = 0; i < 2 * n; i++) scanf("%ld", &a[i]);
  qsort(a, 2 * n, sizeof(a[0]), Fun);
  p = (double)a[0];
  q = ((double)a[n]) / 2;
  Min = p < q ? p : q;
  Res = 3 * n * Min;
  Res = Res > w ? w : Res;
  printf("%lf", Res);
  return 0;
}
