//CODE TO GENERATE ALL THE SUBSEQUENCES OF A
#include <iostream>
using namespace std;
void subsequences(char in[],char out[],int i,int j)
{
if(in[i]=='\0')
{
out[j]='\0';
cout<<out<<"\n";
return;
}
//RECURSIVE CASE EITHER INCLUDE.
out[j]=in[i];
subsequences(in,out,i+1,j+1);
//EXCLUDING PART RECURSIVE CASE.
out[j]='\0';
subsequences(in,out,i+1,j);
}
int main() {
// your code goes here
char a[]="abcd",b[1000];
subsequences(a,b,0,0);
return 0;
}
Ly9DT0RFIFRPIEdFTkVSQVRFIEFMTCBUSEUgU1VCU0VRVUVOQ0VTIE9GIEEgCiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBzdWJzZXF1ZW5jZXMoY2hhciBpbltdLGNoYXIgb3V0W10saW50IGksaW50IGopCnsKCWlmKGluW2ldPT0nXDAnKQoJewoJCW91dFtqXT0nXDAnOwoJCWNvdXQ8PG91dDw8IlxuIjsKCQlyZXR1cm47Cgl9CgkvL1JFQ1VSU0lWRSBDQVNFIEVJVEhFUiBJTkNMVURFLgoJb3V0W2pdPWluW2ldOwoJc3Vic2VxdWVuY2VzKGluLG91dCxpKzEsaisxKTsKCS8vRVhDTFVESU5HIFBBUlQgUkVDVVJTSVZFIENBU0UuCglvdXRbal09J1wwJzsKCXN1YnNlcXVlbmNlcyhpbixvdXQsaSsxLGopOwp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJY2hhciBhW109ImFiY2QiLGJbMTAwMF07CglzdWJzZXF1ZW5jZXMoYSxiLDAsMCk7CglyZXR1cm4gMDsKfQ==