if(ISAP(0,n+1,n+2,count++)==sum)
r=mid-1;
else
l=mid+1;
}
// ISAP(0,n*m+1,n*m+2,count++);
if(l>=inf)
puts("Impossible");
else
{
for(i=0;i<=eid;i++) e[i]=ee[i];
e[p[n]].c=l;
e[p[1]].c=0;
ISAP(0,n+1,n+2,count++);
printf("%d\n",l);
for(i=0;i
{
if(id[i]==-1)
printf("%d",c[i]);
else
printf("%d",e[id[i]^1].c);
}
else
{
if(id[i]==-1)
printf(" %d",c[i]);
else
printf(" %d",e[id[i]^1].c);
}
}
puts("");
}
}