#include <bits/stdc++.h>   using namespace std;   long long rdtsc() {     long long tmp;     asm( rdtsc  :  =A (tmp));     return tmp;   }   inline int myrand() { return abs((rand() << 15) ^ rand()); }   inline int rnd(int x) { return myrand() % x; }   const int INF = (int)1e9 + 1;   const long double EPS = 1e-9;   void precalc() {}   const int maxn = (int)1e5 + 10;   int a[2 * maxn];   int n, w;   bool read() {     if (scanf( %d%d , &n, &w) < 2) {       return 0;     }     for (int i = 0; i < 2 * n; ++i) {       scanf( %d , &a[i]);     }     return 1;   }   void solve() {     sort(a, a + 2 * n);     printf( %.18f n ,            min((double)w, min((double)a[n] / 2, (double)a[0]) * 3 * n));   }   int main() {     srand(rdtsc());     precalc();     while (1) {       if (!read()) {         break;       }       solve();     }     return 0;   }   