#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
char str[30];
int temp[30]= {0};
void print_powerset(int );
void set_po(int , int );
void main()
{
int n;
cout << "Enter String :: ";
gets(str);
n = strlen(str);
set_po(n,0);
getch();
}
void set_po(int n,int i)
{
if (i==n)
{
print_powerset(n);
return;
}
temp[i]=1;
set_po(n,i+1);
temp[i]=0;
set_po(n,i+1);
}
void print_powerset(int n)
{
int i;
cout << "{";
for (i = 0;i < n;i++)
if (temp[i] == 1)
putchar(str[i]);
cout << "}\n";
}