#include<iostream>
#include<algorithm>
using namespace std;
int main(void)
{
int length, n, count, b[600];
while (cin >> length)
{
cin >> n;
for (int i = 0; i < n; i++)
{
scanf("%d", &b[i]);
}
sort(b, b + n);
count = 0;
for (int i = n - 1; i >= 0; i--)
{
if (length > 0)
{
length -= b[i];
count++;
}
}
if (length <= 0) cout << count << endl;
else cout << "impossible\n";
}
return 0;
}
#include<algorithm>
using namespace std;
int main(void)
{
int length, n, count, b[600];
while (cin >> length)
{
cin >> n;
for (int i = 0; i < n; i++)
{
scanf("%d", &b[i]);
}
sort(b, b + n);
count = 0;
for (int i = n - 1; i >= 0; i--)
{
if (length > 0)
{
length -= b[i];
count++;
}
}
if (length <= 0) cout << count << endl;
else cout << "impossible\n";
}
return 0;
}