#include<stdio.h>
#include<math.h>
#define EPSILON 1E-6
//计算并输出两个不等实根
void fun1(double a,double b,double c)
{
double x1,x2;
int s=b*b-4*a*c;
if(s>0){
x1=((0-b)+sqrt(s))/(2.0*a);
x2=((0-b)-sqrt(s))/(2.0*a);
}
printf("方程有两个不等实根:%.2f,%.2f\n",x1,x2);
}
//计算并输出两个相等实根
void fun2(double a,double b,double c)
{
double x1,x2;
int s=b*b-4*a*c;
if(s==0){
x1=(0-b)/(2*a);
x2=(0-b)/(2*a);
}
printf("方程有两个相等的实根:%.2lf,%.2lf",x1,x2);
}
//计算并输出两个共轭复根
void fun3(double a,double b,double c)
{
double p,q;
int s=b*b-4*a*c;
if(s<0){
p=(0-b)/(2*a);
q=sqrt(0-s)/(2*a);
}
printf("方程有两个共轭复根:%.2lf+%.2lfi,%.2lf-%.2lfi\n",p,q,p,q);
}
//计算方程的根
void fun(double a,double b,double c)
{
double delta=b*b-4*a*c;
if(fabs(delta)>EPSILON){
if (delta>0)
{
fun1(a,b,c);
}
else
fun3(a,b,c);
}else
fun2(a,b,c);
}
int main() {
int flag = 0;
char s[20]={},s1[20]={},s2[20]={};
int index = 0,suc = 0,output = 6;
int i = cmp2("bo",order[3]);
while (fgets(s,20,stdin) != NULL) {
suc = 0;output = 6;
//printf("s in:%s",s);
int i1 = 0; flag = 0;
for(int i = 0;s[i]!='\n';i++){
if(flag==0&&s[i]!=' ') s1[i1++] = s[i];
else if(flag==0&&s[i]==' '){
i1 = 0;
flag = 1;
}
else if (flag==1){
s2[i1++] = s[i];
}
}
if(strlen(s1)<1){
printf("unknown command\n");
continue;
}
//printf("commad:%s %s\n",s1,s2);
for(int i = 0;i<7;i++){
if(cmp2(s1,order[i])==1){
//printf("cmp i %d\n",i);
switch (i) {
case 0:{
if(strlen(s2)==0){
output = 0;
suc++;
}
else if (cmp2(s2,order[1])==1) {
output = 1;
//printf("board fault\n");
suc++;
}
else{
if(suc==0) output = 6;
}
//printf("o1 %d\n",output);
break;
}
case 1:{
if(strlen(s2)==0){
if(suc==0)output = 6;
}
else if (cmp2(s2,order[4])==1) {
output = 2;
//printf("where to add\n");
suc++;
}
else if (cmp2(s2,order[5])==1) {
output = 3;
//printf("no board at all\n");
suc++;
}
else{
if(suc==0)output = 6;
}
break;
}
case 2:{
if(strlen(s2)==0){
if(suc==0) output = 6;
}
else if (cmp2(s2,order[3])==1) {
output = 4;
suc++;
}
else{
if(suc==0) output = 6;
}
break;
}
case 3:{
if(strlen(s2)==0){
output = 6;
}
else if (cmp2(s2,order[6])==1) {
output = 5;
suc++;
}
else{
output = 6;
}
break;
}
}
}
}
if(suc==1){
//printf("suc:%d %s\n",output,c[output]);
printf("%s\n",c[output]);
}
else printf("unknown command\n");
//for(int i = 0;i < 20;i++) s[i] = '\0';
memset(s,'\0',20);memset(s1,'\0',20);memset(s2,'\0',20);
//printf("s:%s\n",s);
//strcpy(s1,"");strcpy(s2,"");
}
return 0;
}