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 static System.Math;
using System;

public class hello
{
	public static void Main()
	{
		while (true)
		{
			string[] line = Console.ReadLine().Trim().Split(' ');
			var n = int.Parse(line[0]);
			var m = int.Parse(line[1]);
			if (n == 0 && m == 0) break;
			line = Console.ReadLine().Trim().Split(' ');
			var a = Array.ConvertAll(line, int.Parse);
			var t = m / n;
			var s = 0;
			for (int i = 0; i < n; i++)
				s += Min(a[i], t);
			Console.WriteLine(s);
		}
	}
}