#include <bits/stdc++.h>
using namespace std;

//cmp函数 compare
bool cmp(int a,int b)
{
    if(a>b) return true;
    else return false;
}
int main()
{
    int m,n;
    int a[105];
    cin >> m >> n;
    //读入n个师傅的能力值
    for(int i = 1;i <=n;i++)
    {
        cin >> a[i];
    }
    //对n个师傅能力排序(从大到小)
    sort(a+1,a+n+1,cmp);  //a[1] ~ a[n]
    for(int i = 1;i <=n;i++)
    {
        cout << a[i]<<" ";
    }
    //能力求和
    int s = 0;
    for(int i = 1;i<=n;i++)
    {
        s+=a[i];
        if(s>=m)
        {
            cout << i ;
            break;
        }
    }
    if(s < m)
    {
        cout << "NO";
    }
}
/**************************************************************
	Problem: 1326
	User: mariooo
	Language: C++
	Result: Wrong Answer
****************************************************************/