Problem:
割り勘

あなたは ICPC 2019 Yokohama Regional 国内予選の健闘を祈るためのパーティを企画した．このパーティの参加者は N 人である．

このパーティの開催には合計で M 円の費用が必要となるため，N 人の参加者からそれぞれ M/N 円を集めることにした．M は N で割り切れる金額となったため，余りについて心配する必要はない．

i 番目の参加者の今日の所持金は Ai 円である．M/N 円を払うことができない場合には，今日の所持金をすべて払ってもらい，足りない分は後日払ってもらうこととする．

あなたは今日のうちにパーティの開催費用をいくら集めることができるだろうか？

Input

入力は最大で 50 個のデータセットからなる． 各データセットは次の形式で表される．

N M
A1 A2 ... AN

データセットは 2 行からなる．1 行目にはパーティの参加者の数 N と，かかった費用 M が与えられる．N と M は整数であり，それぞれ 2 ≤ N ≤ 100，N ≤ M ≤ 10 000 が成り立つ．また，M は N の倍数である．2 行目には N 人の参加者のそれぞれの所持金が与えられる．Ai は i 番目の参加者の所持金を表す整数であり，1 ≤ Ai ≤ 10 000 である．

入力の終わりは，2 個の 0 だけからなる行で表される．

Output

各データセットについて，今日のうちに集めることができるパーティの開催費用を 1 行で出力せよ．

Sample Input

3 300
120 100 80
3 30
10 20 5
4 1000
100 200 300 400
5 5
2523 8430 3 4199 632
0 0

Output for the Sample Input

280
25
800
5

ひとつめのデータセットでは 1 人あたりの支払いは 100 円である．1 番目と 2 番目の参加者は 100 円を支払うことができるが，3 番目の参加者は 100 円を支払うことができないため，所持金である 80 円を支払ってもらい，足りない 20 円は後日支払ってもらうこととする．今日のうちに集めることができるのは 100+100+80=280 円である．

Solution in C# (judge verdict: Accepted)

using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    public static void Main()
    {
        while (true)
        {
            var s = Console.ReadLine();
            if (s == "0 0")
            {
                break;
            }
            var input = s.Split().Select(int.Parse).ToArray();
            var N = input[0];
            var M = input[1];
            var a = Console.ReadLine().Split().Select(int.Parse).ToArray();
            Console.WriteLine(a.Select(x => Math.Min(x, M / N)).Sum());
        }
    }
}