#include<bits/stdc++.h>
typedef long long int lli;
typedef long double ld;
using namespace std;
lli n,k,m;
ld dp[23][52][23][102];//idx,index,cnt,money
lli cost[55];
ld benefit[55];
lli vis[23][52][23][102];
ld final_ans=0.0;
lli mini_cost;
lli dp1[23][52][23][102];
ld solve(lli idx,lli index,lli cnt,lli money)
{
if(money>m)
{
return -1000000000.0;
}
if(idx==k)
{
if(money<=m)
{
return dp[idx][index][cnt][money]=0.0;
}
else
{
return -1000000000.0;
}
}
if(vis[idx][index][cnt][money]==1)
{
return dp[idx][index][cnt][money];
}
vis[idx][index][cnt][money]=1;
lli i;
ld res=-1000000000.0;
for(i=1;i<=n;i++)
{
if(i!=index)
{
res=max(res,benefit[i]+solve(idx+1,i,1,money+cost[i]));
}
else
{
if(cnt==1)
res=max(res,(benefit[i]*1.0)/2+solve(idx+1,i,cnt+1,money+cost[i]));
else
res=max(res,solve(idx+1,i,cnt+1,money+cost[i]));
}
}
return dp[idx][index][cnt][money]=res;
}
lli go(lli idx,lli index,lli cnt,lli money,ld profit)
{
lli i;
if(idx==k)
{
if(money<=m)
{
return dp1[idx][index][cnt][money]=money;
}
}
lli res=INT_MAX,mnn=INT_MAX,idxx;
for(i=1;i<=n;i++)
{
if(i!=index)
{
if(dp[idx+1][i][1][money+cost[i]]+profit+benefit[i]==final_ans)
{
res=min(res,go(idx+1,i,1,money+cost[i],profit+benefit[i]));
}
}
else
{
if(cnt==1)
{
if(dp[idx+1][i][1][money+cost[i]]+profit+(benefit[i]*1.0)/2==final_ans)
{
res=min(res,go(idx+1,i,cnt+1,money+cost[i],profit+(benefit[i]*1.0)/2));
}
}
else
{
if(dp[idx+1][i][1][money+cost[i]]+profit==final_ans)
{
res=min(res,go(idx+1,i,cnt+1,money+cost[i],profit));
}
}
}
}
return dp1[idx][index][cnt][money]=res;
}
void path(lli idx,lli index,lli cnt,lli money,ld profit)
{
if(idx==k)
{
return ;
}
lli i;
for(i=1;i<=n;i++)
{
if(i!=index)
{
if(dp[idx+1][i][1][money+cost[i]]+profit+benefit[i]==final_ans && dp1[idx+1][i][1][money+cost[i]]==mini_cost)
{
cout<<i<<" ";
path(idx+1,i,1,money+cost[i],profit+benefit[i]);
break;
}
}
else
{
if(cnt==1)
{
if(dp[idx+1][i][1][money+cost[i]]+profit+(benefit[i]*1.0)/2==final_ans && dp1[idx+1][i][1][money+cost[i]]==mini_cost)
{
cout<<i<<" ";
path(idx+1,i,cnt+1,money+cost[i],profit+(benefit[i]*1.0)/2);
break;
}
}
else
{
if(dp[idx+1][i][1][money+cost[i]]+profit==final_ans && dp1[idx+1][i][1][money+cost[i]]==mini_cost)
{
cout<<i<<" ";
path(idx+1,i,cnt+1,money+cost[i],profit);
break;
}
}
}
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
lli i,j,q,t,a,d,b,c,l,r,e,idx,ind,index,u,v,x,y,z,h,sz,sz1,sz2,mid,len,tot,prev,temp,curr,p;
lli res=0,res1=0,res2=0,ans=0,ans1=0,ans2=0,val=0,val1=0,val2=0,rem=0,diff=0,cnt=0,flag=0,fl=0,sum=0,maxi=INT_MIN,mini=INT_MAX,total=0;
string str,str1,str2;
char ch,ch1,ch2;
while(1)
{
cin>>k>>n>>m;
if(k==n && n==m && m==0)
break;
for(i=1;i<=n;i++)
{
cin>>cost[i]>>benefit[i];
}
memset(vis,0,sizeof(vis));
final_ans=solve(0,0,0,0);
if(final_ans<=0.0)
{
cout<<"0.0"<<"\n";
cout<<"\n";
continue;
}
mini_cost=go(0,0,0,0,0.0);
cout<<fixed<<setprecision(1)<<final_ans<<"\n";
path(0,0,0,0,0.0);
cout<<"\n";
//cout<<"\n";
}
}
/*
5 10 10
3 78
4 4
3 2
3 1
4 3
3 4
3 6
3 2
3 1
5 9
0 0 0
*/
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsaTsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKbGxpIG4sayxtOwpsZCBkcFsyM11bNTJdWzIzXVsxMDJdOy8vaWR4LGluZGV4LGNudCxtb25leQpsbGkgY29zdFs1NV07CmxkIGJlbmVmaXRbNTVdOwpsbGkgdmlzWzIzXVs1Ml1bMjNdWzEwMl07CmxkIGZpbmFsX2Fucz0wLjA7CmxsaSBtaW5pX2Nvc3Q7CmxsaSBkcDFbMjNdWzUyXVsyM11bMTAyXTsKCgpsZCBzb2x2ZShsbGkgaWR4LGxsaSBpbmRleCxsbGkgY250LGxsaSBtb25leSkKewogICAgaWYobW9uZXk+bSkKICAgIHsKICAgICAgICByZXR1cm4gLTEwMDAwMDAwMDAuMDsKICAgIH0KCiAgICBpZihpZHg9PWspCiAgICB7CiAgICAgICAgaWYobW9uZXk8PW0pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gZHBbaWR4XVtpbmRleF1bY250XVttb25leV09MC4wOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gLTEwMDAwMDAwMDAuMDsKICAgICAgICB9CiAgICB9CgogICAgaWYodmlzW2lkeF1baW5kZXhdW2NudF1bbW9uZXldPT0xKQogICAgewogICAgICAgIHJldHVybiBkcFtpZHhdW2luZGV4XVtjbnRdW21vbmV5XTsKICAgIH0KCiAgICB2aXNbaWR4XVtpbmRleF1bY250XVttb25leV09MTsKCiAgICBsbGkgaTsKCiAgICBsZCByZXM9LTEwMDAwMDAwMDAuMDsKCiAgICBmb3IoaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGlmKGkhPWluZGV4KQogICAgICAgIHsKICAgICAgICAgICAgcmVzPW1heChyZXMsYmVuZWZpdFtpXStzb2x2ZShpZHgrMSxpLDEsbW9uZXkrY29zdFtpXSkpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpZihjbnQ9PTEpCiAgICAgICAgICAgIHJlcz1tYXgocmVzLChiZW5lZml0W2ldKjEuMCkvMitzb2x2ZShpZHgrMSxpLGNudCsxLG1vbmV5K2Nvc3RbaV0pKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICByZXM9bWF4KHJlcyxzb2x2ZShpZHgrMSxpLGNudCsxLG1vbmV5K2Nvc3RbaV0pKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIGRwW2lkeF1baW5kZXhdW2NudF1bbW9uZXldPXJlczsKfQoKCgpsbGkgZ28obGxpIGlkeCxsbGkgaW5kZXgsbGxpIGNudCxsbGkgbW9uZXksbGQgcHJvZml0KQp7CiAgICBsbGkgaTsKCiAgICBpZihpZHg9PWspCiAgICB7CiAgICAgICAgaWYobW9uZXk8PW0pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gZHAxW2lkeF1baW5kZXhdW2NudF1bbW9uZXldPW1vbmV5OwogICAgICAgIH0KICAgIH0KCiAgICBsbGkgcmVzPUlOVF9NQVgsbW5uPUlOVF9NQVgsaWR4eDsKCiAgICBmb3IoaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGlmKGkhPWluZGV4KQogICAgICAgIHsKICAgICAgICAgICAgaWYoZHBbaWR4KzFdW2ldWzFdW21vbmV5K2Nvc3RbaV1dK3Byb2ZpdCtiZW5lZml0W2ldPT1maW5hbF9hbnMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJlcz1taW4ocmVzLGdvKGlkeCsxLGksMSxtb25leStjb3N0W2ldLHByb2ZpdCtiZW5lZml0W2ldKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgaWYoY250PT0xKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihkcFtpZHgrMV1baV1bMV1bbW9uZXkrY29zdFtpXV0rcHJvZml0KyhiZW5lZml0W2ldKjEuMCkvMj09ZmluYWxfYW5zKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHJlcz1taW4ocmVzLGdvKGlkeCsxLGksY250KzEsbW9uZXkrY29zdFtpXSxwcm9maXQrKGJlbmVmaXRbaV0qMS4wKS8yKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihkcFtpZHgrMV1baV1bMV1bbW9uZXkrY29zdFtpXV0rcHJvZml0PT1maW5hbF9hbnMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcmVzPW1pbihyZXMsZ28oaWR4KzEsaSxjbnQrMSxtb25leStjb3N0W2ldLHByb2ZpdCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBkcDFbaWR4XVtpbmRleF1bY250XVttb25leV09cmVzOwp9CgoKCgp2b2lkIHBhdGgobGxpIGlkeCxsbGkgaW5kZXgsbGxpIGNudCxsbGkgbW9uZXksbGQgcHJvZml0KQp7CiAgICBpZihpZHg9PWspCiAgICB7CiAgICAgICAgcmV0dXJuIDsKCiAgICB9CgogICAgbGxpIGk7CgogICAgZm9yKGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBpZihpIT1pbmRleCkKICAgICAgICB7CiAgICAgICAgICAgIGlmKGRwW2lkeCsxXVtpXVsxXVttb25leStjb3N0W2ldXStwcm9maXQrYmVuZWZpdFtpXT09ZmluYWxfYW5zICYmIGRwMVtpZHgrMV1baV1bMV1bbW9uZXkrY29zdFtpXV09PW1pbmlfY29zdCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dDw8aTw8IiAiOwogICAgICAgICAgICAgICAgcGF0aChpZHgrMSxpLDEsbW9uZXkrY29zdFtpXSxwcm9maXQrYmVuZWZpdFtpXSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpZihjbnQ9PTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGRwW2lkeCsxXVtpXVsxXVttb25leStjb3N0W2ldXStwcm9maXQrKGJlbmVmaXRbaV0qMS4wKS8yPT1maW5hbF9hbnMgJiYgZHAxW2lkeCsxXVtpXVsxXVttb25leStjb3N0W2ldXT09bWluaV9jb3N0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvdXQ8PGk8PCIgIjsKICAgICAgICAgICAgICAgICAgICBwYXRoKGlkeCsxLGksY250KzEsbW9uZXkrY29zdFtpXSxwcm9maXQrKGJlbmVmaXRbaV0qMS4wKS8yKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGRwW2lkeCsxXVtpXVsxXVttb25leStjb3N0W2ldXStwcm9maXQ9PWZpbmFsX2FucyAmJiBkcDFbaWR4KzFdW2ldWzFdW21vbmV5K2Nvc3RbaV1dPT1taW5pX2Nvc3QpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY291dDw8aTw8IiAiOwogICAgICAgICAgICAgICAgICAgIHBhdGgoaWR4KzEsaSxjbnQrMSxtb25leStjb3N0W2ldLHByb2ZpdCk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp9CgoKCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKTsKCgogICAgbGxpIGksaixxLHQsYSxkLGIsYyxsLHIsZSxpZHgsaW5kLGluZGV4LHUsdix4LHkseixoLHN6LHN6MSxzejIsbWlkLGxlbix0b3QscHJldix0ZW1wLGN1cnIscDsKICAgIGxsaSByZXM9MCxyZXMxPTAscmVzMj0wLGFucz0wLGFuczE9MCxhbnMyPTAsdmFsPTAsdmFsMT0wLHZhbDI9MCxyZW09MCxkaWZmPTAsY250PTAsZmxhZz0wLGZsPTAsc3VtPTAsbWF4aT1JTlRfTUlOLG1pbmk9SU5UX01BWCx0b3RhbD0wOwoKICAgIHN0cmluZyBzdHIsc3RyMSxzdHIyOwogICAgY2hhciBjaCxjaDEsY2gyOwoKICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgY2luPj5rPj5uPj5tOwoKICAgICAgICBpZihrPT1uICYmIG49PW0gJiYgbT09MCkKICAgICAgICAgICAgYnJlYWs7CgoKICAgICAgICBmb3IoaT0xO2k8PW47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5jb3N0W2ldPj5iZW5lZml0W2ldOwogICAgICAgIH0KCiAgICAgICAgbWVtc2V0KHZpcywwLHNpemVvZih2aXMpKTsKCiAgICAgICAgZmluYWxfYW5zPXNvbHZlKDAsMCwwLDApOwoKICAgICAgICBpZihmaW5hbF9hbnM8PTAuMCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PCIwLjAiPDwiXG4iOwogICAgICAgICAgICBjb3V0PDwiXG4iOwoKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICBtaW5pX2Nvc3Q9Z28oMCwwLDAsMCwwLjApOwoKICAgICAgICBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDEpPDxmaW5hbF9hbnM8PCJcbiI7CgogICAgICAgIHBhdGgoMCwwLDAsMCwwLjApOwoKICAgICAgICBjb3V0PDwiXG4iOwogICAgICAgIC8vY291dDw8IlxuIjsKICAgIH0KfQoKLyoKNSAxMCAxMAozIDc4CjQgNAozIDIKMyAxCjQgMwozIDQKMyA2CjMgMgozIDEKNSA5CjAgMCAwCiovCg==