int cnt=0;
int is_right(float n[], int m) 
{ 
  int i,j; 
  int h,p,r; 
  float result=0; 
  float num[4]={0}; 
   
  if(m==1) 
  { 
     if(abs(n[0]-24)<0.001) 
       { 
        cnt++; 
        return 1; 
       } 
       return 0; 
  }
     
for(i=0;i<m;i++) 
 { 
  if(cnt!=0) 
  { 
    break; 
  }
  
  for(j=0;j<m;j++) 
  { 
     if(i==j) 
     { 
       continue; 
     } 
     for(h=0;h<4;h++) 
     { 
     switch(h) 
       { 
          case 0: 
               result =n[i]+n[j]; 
               break;
     
          case 1: 
               result =n[i]-n[j]; 
               break;
     
          case 2: 
               result =n[i]*n[j]; 
               break;
     
          case 3: 
               if(n[j]==0) 
               { 
                 break; 
               } 
               result=n[i]/n[j]; 
               break;
               
          default: 
               break; 
        } 
     r=0; 
     num[r]=result; 
     for(p=1;p<4;p++) 
     { 
       if(p!=i && p!=j) 
       { 
         r++; 
         num[r]=n[p]; 
       } 
     } 
     
    is_right(num,m-1); 
    } 
     
   } 
  } 
  return 0; 
  }