/*
    題意:每一天,可升級1,或者做L個食物。但每天至少要有ai的食物存量
          問N天后的最多食物 N<=10^5
    很容易想到N^2的DP 肯定TLE
    用貪心做!
    N天都不升級,結果為NL
    前面t天用來升級,結果為(N-t)(L+t) = NL + t(N-L-t)  最后結果可以增加
    一種貪心思路:
    應該盡量早的升級,不得以才放棄升級,改成準備食物,當然最后幾天可能都準備食物比較好

    用一個棧來記錄實現
*/

#include
<cstdio>
#include
<stack>

using namespace std;

int main()
{
    
//freopen("in","r",stdin);
    int N;
    
int x,L;
    
while(~scanf("%d%d",&N,&L))
    
{
        
long long ans = 0,sum=0;
        stack
<int>S;
        
for(int i=1;i<=N;i++)
        
{
            scanf(
"%d",&x);
            
if(ans!=-1)
            
{
                sum
=sum+x;
                S.push(i);
                
while(!S.empty()&&ans<sum)
                
{
                    
//直接ans+=會wa  可能溢出的問題
                    ans=ans+(L+S.size()-1)-(i-S.top());
                    
//還要-(i-S.top()) 因為由于S.top()這一天沒有升級,所以(S.top(),i]用的L減1了
                    S.pop();
                }

                
if(S.empty()&&ans<sum)ans=-1;
            }

        }

        
if(ans==-1)puts("Myon");
        
else
        
{
            
while(!S.empty()&&(L+S.size()-1)>(N-S.top()))
            
{
                ans
=ans+(L+S.size()-1)-(N-S.top());
                S.pop();
            }

            printf(
"%lld\n",ans-sum);
        }

    }

    
return 0;
}