#include int int_sort(const void * a, const void * b) { if (*(int *)a < *(int *)b) { return -1; } else if (*(int *)a == *(int *)b) { return 0; } return 1; } int main(){ int N, M, C[100001],i; int count = 0; scanf("%d%d", &N,&M); for (i = 0; i < N; i++) { scanf("%d", &C[i]); } qsort((void *)C, N, sizeof(C[0]), int_sort); i = 0; while(M > 0){ if (C[i] > 0) { M--; C[i]--; if (C[i] == 0) { i++; count++; } } else { i++; count++; } } printf("%d", count); }