//某任务需要在A、B、C、D、E着5人中物色人员去完成,但派人受限于下列条件:
//(1)若A去,则B跟去(2)D、E两人中必有人去(3)B,C两人中必有人去,但只去一人
//(4)C,D两人要么都去,要么都不去(5)若E去,则A,B都去
#include<iostream>
using namespace std;
void print(int n);
void main(){
for(int i=0;i<32;i++){
bool A=i&16,B=i&8,C=i&4,D=i&2,E=i&1;
if(A && !B) continue;
if(!D && !E)continue;
if(B == C) continue;
if(C != D) continue;
if(E && !(A && B))continue;
print(i);
}
}
void print(int n)
{
cout<<(n&16?"A":"~A")<<" "
<<(n&8 ?"B":"~B")<<" "
<<(n&4?"C":"~C")<<" "
<<(n&2?"D":"~D")<<" "
<<(n&1?"E":"~E")<<" "
<<endl;
}