#include<stdio.h>
#include<string.h>

void fortune(char *cards){
  char *ranklist = "A23456789TJQK";
  int suit[5], rank[5], straight = 0, flush = 0, pair = 0, i, j;

  for(i = 0; i < 5; i++)
    suit[i] = cards[i * 2],
    rank[i] = strchr(ranklist, cards[i * 2 + 1]) - ranklist,
    straight |= 1 << rank[i];
  while(straight % 2 < 1)
    straight /= 2;
  for(i = 0; i < 4; i++)
    for(j = i + 1; j < 5; j++)
      flush += (suit[i] == suit[j]),
      pair += (rank[i] == rank[j]);

  if(flush == 10 && straight == 7681)         printf("Royal flush\n");
  else if(flush == 10 && straight == 31)      printf("Straight flush\n");
  else if(pair == 6)                          printf("Four of a kind\n");
  else if(pair == 4)                          printf("Full house\n");
  else if(flush == 10)                        printf("Flush\n");
  else if(straight == 7681 || straight == 31) printf("Straight\n");
  else if(pair == 3)                          printf("Three of a kind\n");
  else if(pair == 2)                          printf("Two pair\n");
  else if(pair == 1)                          printf("One pair\n");
  else                                        printf("No pair\n");
}

int main(void){
  fortune("SQSJSASKST");
  fortune("D9D7D6D5D8");
  fortune("C2D2S2H3H2");
  fortune("C2D3S2H3H2");
  fortune("S9S4S8STSJ");
  fortune("C4H7D5S6H3");
  fortune("S6H6C5DQC6");
  fortune("S6HQC5DQC6");
  fortune("S6H4C5DQC6");
  fortune("SJSQSKSAC2");

  fortune("SQSJDASKST");
  fortune("S4S3DASKS2");
  return 0;
}