#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
 
#define MAX 100048
 
int n, s;
int sum [MAX], niz [MAX];
 
inline int getSum (int p, int d) {
       
       if (p > d) swap (p, d);
       if (!p) return sum [d];
       return sum [d] - sum [p - 1];
       
       }
 
int main () {
         
         scanf ("%d%d", &n, &s);
         
         int i, j;
         for (i = 0 ; i < n ; ++i) {
             
             scanf ("%d", &niz [i]);
             
             int prije = 0;
             if (i) prije = sum [i - 1];
             sum [i] = prije + niz [i];
             
             }
         
         for (i = 0 ; i < n ; ++i) {
             
             bool veci = false;
             int kol = 0;
             for (j = 1 ; j < n ; ++j) {
                 
                 if ((i + j * 2) - 1 >= n) break;
                 int prv = getSum (i, (i + j) - 1);
                 if (prv > s) break;
                 int dr = getSum (i + j, i + (j << 1) - 1);
                 
                 if (prv <= s && dr <= s) kol = j << 1;
                 if (dr > s) veci = true;
                 
                 }
             
             printf ("%d\n", kol);
             
             }
         
         cin.get ();
         cin.get ();
         return 0;
         }