 #include<iostream>
#include<iostream>
 using namespace std;
using namespace std;

 int a[2002];
int a[2002];
 int fige[2002];
int fige[2002];

 int main()
int main()


 {
{
 int m,h;
    int m,h;
 while(cin>>m>>h)
    while(cin>>m>>h)

 
     {
{
 if(m == 0 && h == 0)
        if(m == 0 && h == 0)
 break;
            break;
 int n;
        int n;
 cin>>n;
        cin>>n;
 int i;
        int i;
 int sum = 0;
        int sum = 0;
 int count;
        int count;
 for(i = 1;i <= n;i++)
        for(i = 1;i <= n;i++)

 
         {
{
 cin>>a[i];
            cin>>a[i];
 sum += a[i];
            sum += a[i];
 }
        }
 if(sum  > m + h)
        if(sum  > m + h)

 
         {
{
 cout<<"Impossible to distribute"<<endl;
            cout<<"Impossible to distribute"<<endl;
 continue;
            continue;
 }
        }
 int j;
        int j;
 for(i = 1; i <= n;i++)
        for(i = 1; i <= n;i++)

 
         {
{
 memset(fige,false,sizeof(fige));
            memset(fige,false,sizeof(fige));
 int total = 0;
            int total = 0;
 count = 0;
            count = 0;
 for(j = i ; j <= n;j++)
            for(j = i ; j <= n;j++)

 
             {
{
 if(total + a[j] > m)
                if(total + a[j] > m)
 continue;
                    continue;
 fige[j] = true;
                fige[j] = true;
 total += a[j];
                total += a[j];
 count++;
                count++;
 }
            }
 if(sum - total <= h)
            if(sum - total <= h)
 break;
                break;
 }
        }
 if(i > n)
        if(i > n)
 cout<<"Impossible to distribute"<<endl;
            cout<<"Impossible to distribute"<<endl;
 else
        else

 
         {
{
 cout<<count;
            cout<<count;
 for(i = 1; i <= n;i++)
            for(i = 1; i <= n;i++)

 
             {
{
 if(fige[i])
                if(fige[i])
 cout<<" "<<i;
                    cout<<" "<<i;
 }
            }
 cout<<endl;
            cout<<endl;
 }
        }
 
        
 }
    }
 return 0;
    return 0;
 }
}
