fork download
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. struct tag {
  6. char str[4];
  7. };
  8.  
  9. void swap(struct tag *a, int i, int j)
  10. {
  11. struct tag temp = a[i]; a[i] = a[j]; a[j] = temp;
  12. }
  13.  
  14. void do_permute(struct tag *tag, int lo, int hi)
  15. {
  16. if (lo == hi) {
  17. for (int i = 0; i < hi; i++) {
  18. if (i) printf(" ");
  19. printf("%s", tag[i].str);
  20. }
  21.  
  22. printf("\n");
  23. } else {
  24. for (int i = lo; i < hi; i++) {
  25. swap(tag, lo, i);
  26. do_permute(tag, lo + 1, hi);
  27. swap(tag, lo, i);
  28. }
  29. }
  30. }
  31.  
  32. void permute(const char *str)
  33. {
  34. int l = strlen(str);
  35. struct tag *tag = malloc(l * sizeof(*tag));
  36. int count[256] = {0};
  37.  
  38. // first pass: assign individual indices for each letter
  39.  
  40. for (int i = 0; i < l; i++) {
  41. unsigned char k = str[i];
  42.  
  43. count[k]++;
  44. snprintf(tag[i].str, sizeof(tag[i].str), "%c%d", str[i], count[k]);
  45. }
  46.  
  47. // second pass: remove index for single instances
  48.  
  49. for (int i = 0; i < l; i++) {
  50. unsigned char k = str[i];
  51.  
  52. if (count[k] == 1) tag[i].str[1] = '\0';
  53. }
  54.  
  55. do_permute(tag, 0, l);
  56.  
  57. free(tag);
  58. }
  59.  
  60. int main(void)
  61. {
  62. permute("TATTOO");
  63.  
  64. return 0;
  65. }
  66.  
Success #stdin #stdout 0s 4352KB
stdin
Standard input is empty
stdout
T1 A T2 T3 O1 O2
T1 A T2 T3 O2 O1
T1 A T2 O1 T3 O2
T1 A T2 O1 O2 T3
T1 A T2 O2 O1 T3
T1 A T2 O2 T3 O1
T1 A T3 T2 O1 O2
T1 A T3 T2 O2 O1
T1 A T3 O1 T2 O2
T1 A T3 O1 O2 T2
T1 A T3 O2 O1 T2
T1 A T3 O2 T2 O1
T1 A O1 T3 T2 O2
T1 A O1 T3 O2 T2
T1 A O1 T2 T3 O2
T1 A O1 T2 O2 T3
T1 A O1 O2 T2 T3
T1 A O1 O2 T3 T2
T1 A O2 T3 O1 T2
T1 A O2 T3 T2 O1
T1 A O2 O1 T3 T2
T1 A O2 O1 T2 T3
T1 A O2 T2 O1 T3
T1 A O2 T2 T3 O1
T1 T2 A T3 O1 O2
T1 T2 A T3 O2 O1
T1 T2 A O1 T3 O2
T1 T2 A O1 O2 T3
T1 T2 A O2 O1 T3
T1 T2 A O2 T3 O1
T1 T2 T3 A O1 O2
T1 T2 T3 A O2 O1
T1 T2 T3 O1 A O2
T1 T2 T3 O1 O2 A
T1 T2 T3 O2 O1 A
T1 T2 T3 O2 A O1
T1 T2 O1 T3 A O2
T1 T2 O1 T3 O2 A
T1 T2 O1 A T3 O2
T1 T2 O1 A O2 T3
T1 T2 O1 O2 A T3
T1 T2 O1 O2 T3 A
T1 T2 O2 T3 O1 A
T1 T2 O2 T3 A O1
T1 T2 O2 O1 T3 A
T1 T2 O2 O1 A T3
T1 T2 O2 A O1 T3
T1 T2 O2 A T3 O1
T1 T3 T2 A O1 O2
T1 T3 T2 A O2 O1
T1 T3 T2 O1 A O2
T1 T3 T2 O1 O2 A
T1 T3 T2 O2 O1 A
T1 T3 T2 O2 A O1
T1 T3 A T2 O1 O2
T1 T3 A T2 O2 O1
T1 T3 A O1 T2 O2
T1 T3 A O1 O2 T2
T1 T3 A O2 O1 T2
T1 T3 A O2 T2 O1
T1 T3 O1 A T2 O2
T1 T3 O1 A O2 T2
T1 T3 O1 T2 A O2
T1 T3 O1 T2 O2 A
T1 T3 O1 O2 T2 A
T1 T3 O1 O2 A T2
T1 T3 O2 A O1 T2
T1 T3 O2 A T2 O1
T1 T3 O2 O1 A T2
T1 T3 O2 O1 T2 A
T1 T3 O2 T2 O1 A
T1 T3 O2 T2 A O1
T1 O1 T2 T3 A O2
T1 O1 T2 T3 O2 A
T1 O1 T2 A T3 O2
T1 O1 T2 A O2 T3
T1 O1 T2 O2 A T3
T1 O1 T2 O2 T3 A
T1 O1 T3 T2 A O2
T1 O1 T3 T2 O2 A
T1 O1 T3 A T2 O2
T1 O1 T3 A O2 T2
T1 O1 T3 O2 A T2
T1 O1 T3 O2 T2 A
T1 O1 A T3 T2 O2
T1 O1 A T3 O2 T2
T1 O1 A T2 T3 O2
T1 O1 A T2 O2 T3
T1 O1 A O2 T2 T3
T1 O1 A O2 T3 T2
T1 O1 O2 T3 A T2
T1 O1 O2 T3 T2 A
T1 O1 O2 A T3 T2
T1 O1 O2 A T2 T3
T1 O1 O2 T2 A T3
T1 O1 O2 T2 T3 A
T1 O2 T2 T3 O1 A
T1 O2 T2 T3 A O1
T1 O2 T2 O1 T3 A
T1 O2 T2 O1 A T3
T1 O2 T2 A O1 T3
T1 O2 T2 A T3 O1
T1 O2 T3 T2 O1 A
T1 O2 T3 T2 A O1
T1 O2 T3 O1 T2 A
T1 O2 T3 O1 A T2
T1 O2 T3 A O1 T2
T1 O2 T3 A T2 O1
T1 O2 O1 T3 T2 A
T1 O2 O1 T3 A T2
T1 O2 O1 T2 T3 A
T1 O2 O1 T2 A T3
T1 O2 O1 A T2 T3
T1 O2 O1 A T3 T2
T1 O2 A T3 O1 T2
T1 O2 A T3 T2 O1
T1 O2 A O1 T3 T2
T1 O2 A O1 T2 T3
T1 O2 A T2 O1 T3
T1 O2 A T2 T3 O1
A T1 T2 T3 O1 O2
A T1 T2 T3 O2 O1
A T1 T2 O1 T3 O2
A T1 T2 O1 O2 T3
A T1 T2 O2 O1 T3
A T1 T2 O2 T3 O1
A T1 T3 T2 O1 O2
A T1 T3 T2 O2 O1
A T1 T3 O1 T2 O2
A T1 T3 O1 O2 T2
A T1 T3 O2 O1 T2
A T1 T3 O2 T2 O1
A T1 O1 T3 T2 O2
A T1 O1 T3 O2 T2
A T1 O1 T2 T3 O2
A T1 O1 T2 O2 T3
A T1 O1 O2 T2 T3
A T1 O1 O2 T3 T2
A T1 O2 T3 O1 T2
A T1 O2 T3 T2 O1
A T1 O2 O1 T3 T2
A T1 O2 O1 T2 T3
A T1 O2 T2 O1 T3
A T1 O2 T2 T3 O1
A T2 T1 T3 O1 O2
A T2 T1 T3 O2 O1
A T2 T1 O1 T3 O2
A T2 T1 O1 O2 T3
A T2 T1 O2 O1 T3
A T2 T1 O2 T3 O1
A T2 T3 T1 O1 O2
A T2 T3 T1 O2 O1
A T2 T3 O1 T1 O2
A T2 T3 O1 O2 T1
A T2 T3 O2 O1 T1
A T2 T3 O2 T1 O1
A T2 O1 T3 T1 O2
A T2 O1 T3 O2 T1
A T2 O1 T1 T3 O2
A T2 O1 T1 O2 T3
A T2 O1 O2 T1 T3
A T2 O1 O2 T3 T1
A T2 O2 T3 O1 T1
A T2 O2 T3 T1 O1
A T2 O2 O1 T3 T1
A T2 O2 O1 T1 T3
A T2 O2 T1 O1 T3
A T2 O2 T1 T3 O1
A T3 T2 T1 O1 O2
A T3 T2 T1 O2 O1
A T3 T2 O1 T1 O2
A T3 T2 O1 O2 T1
A T3 T2 O2 O1 T1
A T3 T2 O2 T1 O1
A T3 T1 T2 O1 O2
A T3 T1 T2 O2 O1
A T3 T1 O1 T2 O2
A T3 T1 O1 O2 T2
A T3 T1 O2 O1 T2
A T3 T1 O2 T2 O1
A T3 O1 T1 T2 O2
A T3 O1 T1 O2 T2
A T3 O1 T2 T1 O2
A T3 O1 T2 O2 T1
A T3 O1 O2 T2 T1
A T3 O1 O2 T1 T2
A T3 O2 T1 O1 T2
A T3 O2 T1 T2 O1
A T3 O2 O1 T1 T2
A T3 O2 O1 T2 T1
A T3 O2 T2 O1 T1
A T3 O2 T2 T1 O1
A O1 T2 T3 T1 O2
A O1 T2 T3 O2 T1
A O1 T2 T1 T3 O2
A O1 T2 T1 O2 T3
A O1 T2 O2 T1 T3
A O1 T2 O2 T3 T1
A O1 T3 T2 T1 O2
A O1 T3 T2 O2 T1
A O1 T3 T1 T2 O2
A O1 T3 T1 O2 T2
A O1 T3 O2 T1 T2
A O1 T3 O2 T2 T1
A O1 T1 T3 T2 O2
A O1 T1 T3 O2 T2
A O1 T1 T2 T3 O2
A O1 T1 T2 O2 T3
A O1 T1 O2 T2 T3
A O1 T1 O2 T3 T2
A O1 O2 T3 T1 T2
A O1 O2 T3 T2 T1
A O1 O2 T1 T3 T2
A O1 O2 T1 T2 T3
A O1 O2 T2 T1 T3
A O1 O2 T2 T3 T1
A O2 T2 T3 O1 T1
A O2 T2 T3 T1 O1
A O2 T2 O1 T3 T1
A O2 T2 O1 T1 T3
A O2 T2 T1 O1 T3
A O2 T2 T1 T3 O1
A O2 T3 T2 O1 T1
A O2 T3 T2 T1 O1
A O2 T3 O1 T2 T1
A O2 T3 O1 T1 T2
A O2 T3 T1 O1 T2
A O2 T3 T1 T2 O1
A O2 O1 T3 T2 T1
A O2 O1 T3 T1 T2
A O2 O1 T2 T3 T1
A O2 O1 T2 T1 T3
A O2 O1 T1 T2 T3
A O2 O1 T1 T3 T2
A O2 T1 T3 O1 T2
A O2 T1 T3 T2 O1
A O2 T1 O1 T3 T2
A O2 T1 O1 T2 T3
A O2 T1 T2 O1 T3
A O2 T1 T2 T3 O1
T2 A T1 T3 O1 O2
T2 A T1 T3 O2 O1
T2 A T1 O1 T3 O2
T2 A T1 O1 O2 T3
T2 A T1 O2 O1 T3
T2 A T1 O2 T3 O1
T2 A T3 T1 O1 O2
T2 A T3 T1 O2 O1
T2 A T3 O1 T1 O2
T2 A T3 O1 O2 T1
T2 A T3 O2 O1 T1
T2 A T3 O2 T1 O1
T2 A O1 T3 T1 O2
T2 A O1 T3 O2 T1
T2 A O1 T1 T3 O2
T2 A O1 T1 O2 T3
T2 A O1 O2 T1 T3
T2 A O1 O2 T3 T1
T2 A O2 T3 O1 T1
T2 A O2 T3 T1 O1
T2 A O2 O1 T3 T1
T2 A O2 O1 T1 T3
T2 A O2 T1 O1 T3
T2 A O2 T1 T3 O1
T2 T1 A T3 O1 O2
T2 T1 A T3 O2 O1
T2 T1 A O1 T3 O2
T2 T1 A O1 O2 T3
T2 T1 A O2 O1 T3
T2 T1 A O2 T3 O1
T2 T1 T3 A O1 O2
T2 T1 T3 A O2 O1
T2 T1 T3 O1 A O2
T2 T1 T3 O1 O2 A
T2 T1 T3 O2 O1 A
T2 T1 T3 O2 A O1
T2 T1 O1 T3 A O2
T2 T1 O1 T3 O2 A
T2 T1 O1 A T3 O2
T2 T1 O1 A O2 T3
T2 T1 O1 O2 A T3
T2 T1 O1 O2 T3 A
T2 T1 O2 T3 O1 A
T2 T1 O2 T3 A O1
T2 T1 O2 O1 T3 A
T2 T1 O2 O1 A T3
T2 T1 O2 A O1 T3
T2 T1 O2 A T3 O1
T2 T3 T1 A O1 O2
T2 T3 T1 A O2 O1
T2 T3 T1 O1 A O2
T2 T3 T1 O1 O2 A
T2 T3 T1 O2 O1 A
T2 T3 T1 O2 A O1
T2 T3 A T1 O1 O2
T2 T3 A T1 O2 O1
T2 T3 A O1 T1 O2
T2 T3 A O1 O2 T1
T2 T3 A O2 O1 T1
T2 T3 A O2 T1 O1
T2 T3 O1 A T1 O2
T2 T3 O1 A O2 T1
T2 T3 O1 T1 A O2
T2 T3 O1 T1 O2 A
T2 T3 O1 O2 T1 A
T2 T3 O1 O2 A T1
T2 T3 O2 A O1 T1
T2 T3 O2 A T1 O1
T2 T3 O2 O1 A T1
T2 T3 O2 O1 T1 A
T2 T3 O2 T1 O1 A
T2 T3 O2 T1 A O1
T2 O1 T1 T3 A O2
T2 O1 T1 T3 O2 A
T2 O1 T1 A T3 O2
T2 O1 T1 A O2 T3
T2 O1 T1 O2 A T3
T2 O1 T1 O2 T3 A
T2 O1 T3 T1 A O2
T2 O1 T3 T1 O2 A
T2 O1 T3 A T1 O2
T2 O1 T3 A O2 T1
T2 O1 T3 O2 A T1
T2 O1 T3 O2 T1 A
T2 O1 A T3 T1 O2
T2 O1 A T3 O2 T1
T2 O1 A T1 T3 O2
T2 O1 A T1 O2 T3
T2 O1 A O2 T1 T3
T2 O1 A O2 T3 T1
T2 O1 O2 T3 A T1
T2 O1 O2 T3 T1 A
T2 O1 O2 A T3 T1
T2 O1 O2 A T1 T3
T2 O1 O2 T1 A T3
T2 O1 O2 T1 T3 A
T2 O2 T1 T3 O1 A
T2 O2 T1 T3 A O1
T2 O2 T1 O1 T3 A
T2 O2 T1 O1 A T3
T2 O2 T1 A O1 T3
T2 O2 T1 A T3 O1
T2 O2 T3 T1 O1 A
T2 O2 T3 T1 A O1
T2 O2 T3 O1 T1 A
T2 O2 T3 O1 A T1
T2 O2 T3 A O1 T1
T2 O2 T3 A T1 O1
T2 O2 O1 T3 T1 A
T2 O2 O1 T3 A T1
T2 O2 O1 T1 T3 A
T2 O2 O1 T1 A T3
T2 O2 O1 A T1 T3
T2 O2 O1 A T3 T1
T2 O2 A T3 O1 T1
T2 O2 A T3 T1 O1
T2 O2 A O1 T3 T1
T2 O2 A O1 T1 T3
T2 O2 A T1 O1 T3
T2 O2 A T1 T3 O1
T3 A T2 T1 O1 O2
T3 A T2 T1 O2 O1
T3 A T2 O1 T1 O2
T3 A T2 O1 O2 T1
T3 A T2 O2 O1 T1
T3 A T2 O2 T1 O1
T3 A T1 T2 O1 O2
T3 A T1 T2 O2 O1
T3 A T1 O1 T2 O2
T3 A T1 O1 O2 T2
T3 A T1 O2 O1 T2
T3 A T1 O2 T2 O1
T3 A O1 T1 T2 O2
T3 A O1 T1 O2 T2
T3 A O1 T2 T1 O2
T3 A O1 T2 O2 T1
T3 A O1 O2 T2 T1
T3 A O1 O2 T1 T2
T3 A O2 T1 O1 T2
T3 A O2 T1 T2 O1
T3 A O2 O1 T1 T2
T3 A O2 O1 T2 T1
T3 A O2 T2 O1 T1
T3 A O2 T2 T1 O1
T3 T2 A T1 O1 O2
T3 T2 A T1 O2 O1
T3 T2 A O1 T1 O2
T3 T2 A O1 O2 T1
T3 T2 A O2 O1 T1
T3 T2 A O2 T1 O1
T3 T2 T1 A O1 O2
T3 T2 T1 A O2 O1
T3 T2 T1 O1 A O2
T3 T2 T1 O1 O2 A
T3 T2 T1 O2 O1 A
T3 T2 T1 O2 A O1
T3 T2 O1 T1 A O2
T3 T2 O1 T1 O2 A
T3 T2 O1 A T1 O2
T3 T2 O1 A O2 T1
T3 T2 O1 O2 A T1
T3 T2 O1 O2 T1 A
T3 T2 O2 T1 O1 A
T3 T2 O2 T1 A O1
T3 T2 O2 O1 T1 A
T3 T2 O2 O1 A T1
T3 T2 O2 A O1 T1
T3 T2 O2 A T1 O1
T3 T1 T2 A O1 O2
T3 T1 T2 A O2 O1
T3 T1 T2 O1 A O2
T3 T1 T2 O1 O2 A
T3 T1 T2 O2 O1 A
T3 T1 T2 O2 A O1
T3 T1 A T2 O1 O2
T3 T1 A T2 O2 O1
T3 T1 A O1 T2 O2
T3 T1 A O1 O2 T2
T3 T1 A O2 O1 T2
T3 T1 A O2 T2 O1
T3 T1 O1 A T2 O2
T3 T1 O1 A O2 T2
T3 T1 O1 T2 A O2
T3 T1 O1 T2 O2 A
T3 T1 O1 O2 T2 A
T3 T1 O1 O2 A T2
T3 T1 O2 A O1 T2
T3 T1 O2 A T2 O1
T3 T1 O2 O1 A T2
T3 T1 O2 O1 T2 A
T3 T1 O2 T2 O1 A
T3 T1 O2 T2 A O1
T3 O1 T2 T1 A O2
T3 O1 T2 T1 O2 A
T3 O1 T2 A T1 O2
T3 O1 T2 A O2 T1
T3 O1 T2 O2 A T1
T3 O1 T2 O2 T1 A
T3 O1 T1 T2 A O2
T3 O1 T1 T2 O2 A
T3 O1 T1 A T2 O2
T3 O1 T1 A O2 T2
T3 O1 T1 O2 A T2
T3 O1 T1 O2 T2 A
T3 O1 A T1 T2 O2
T3 O1 A T1 O2 T2
T3 O1 A T2 T1 O2
T3 O1 A T2 O2 T1
T3 O1 A O2 T2 T1
T3 O1 A O2 T1 T2
T3 O1 O2 T1 A T2
T3 O1 O2 T1 T2 A
T3 O1 O2 A T1 T2
T3 O1 O2 A T2 T1
T3 O1 O2 T2 A T1
T3 O1 O2 T2 T1 A
T3 O2 T2 T1 O1 A
T3 O2 T2 T1 A O1
T3 O2 T2 O1 T1 A
T3 O2 T2 O1 A T1
T3 O2 T2 A O1 T1
T3 O2 T2 A T1 O1
T3 O2 T1 T2 O1 A
T3 O2 T1 T2 A O1
T3 O2 T1 O1 T2 A
T3 O2 T1 O1 A T2
T3 O2 T1 A O1 T2
T3 O2 T1 A T2 O1
T3 O2 O1 T1 T2 A
T3 O2 O1 T1 A T2
T3 O2 O1 T2 T1 A
T3 O2 O1 T2 A T1
T3 O2 O1 A T2 T1
T3 O2 O1 A T1 T2
T3 O2 A T1 O1 T2
T3 O2 A T1 T2 O1
T3 O2 A O1 T1 T2
T3 O2 A O1 T2 T1
T3 O2 A T2 O1 T1
T3 O2 A T2 T1 O1
O1 A T2 T3 T1 O2
O1 A T2 T3 O2 T1
O1 A T2 T1 T3 O2
O1 A T2 T1 O2 T3
O1 A T2 O2 T1 T3
O1 A T2 O2 T3 T1
O1 A T3 T2 T1 O2
O1 A T3 T2 O2 T1
O1 A T3 T1 T2 O2
O1 A T3 T1 O2 T2
O1 A T3 O2 T1 T2
O1 A T3 O2 T2 T1
O1 A T1 T3 T2 O2
O1 A T1 T3 O2 T2
O1 A T1 T2 T3 O2
O1 A T1 T2 O2 T3
O1 A T1 O2 T2 T3
O1 A T1 O2 T3 T2
O1 A O2 T3 T1 T2
O1 A O2 T3 T2 T1
O1 A O2 T1 T3 T2
O1 A O2 T1 T2 T3
O1 A O2 T2 T1 T3
O1 A O2 T2 T3 T1
O1 T2 A T3 T1 O2
O1 T2 A T3 O2 T1
O1 T2 A T1 T3 O2
O1 T2 A T1 O2 T3
O1 T2 A O2 T1 T3
O1 T2 A O2 T3 T1
O1 T2 T3 A T1 O2
O1 T2 T3 A O2 T1
O1 T2 T3 T1 A O2
O1 T2 T3 T1 O2 A
O1 T2 T3 O2 T1 A
O1 T2 T3 O2 A T1
O1 T2 T1 T3 A O2
O1 T2 T1 T3 O2 A
O1 T2 T1 A T3 O2
O1 T2 T1 A O2 T3
O1 T2 T1 O2 A T3
O1 T2 T1 O2 T3 A
O1 T2 O2 T3 T1 A
O1 T2 O2 T3 A T1
O1 T2 O2 T1 T3 A
O1 T2 O2 T1 A T3
O1 T2 O2 A T1 T3
O1 T2 O2 A T3 T1
O1 T3 T2 A T1 O2
O1 T3 T2 A O2 T1
O1 T3 T2 T1 A O2
O1 T3 T2 T1 O2 A
O1 T3 T2 O2 T1 A
O1 T3 T2 O2 A T1
O1 T3 A T2 T1 O2
O1 T3 A T2 O2 T1
O1 T3 A T1 T2 O2
O1 T3 A T1 O2 T2
O1 T3 A O2 T1 T2
O1 T3 A O2 T2 T1
O1 T3 T1 A T2 O2
O1 T3 T1 A O2 T2
O1 T3 T1 T2 A O2
O1 T3 T1 T2 O2 A
O1 T3 T1 O2 T2 A
O1 T3 T1 O2 A T2
O1 T3 O2 A T1 T2
O1 T3 O2 A T2 T1
O1 T3 O2 T1 A T2
O1 T3 O2 T1 T2 A
O1 T3 O2 T2 T1 A
O1 T3 O2 T2 A T1
O1 T1 T2 T3 A O2
O1 T1 T2 T3 O2 A
O1 T1 T2 A T3 O2
O1 T1 T2 A O2 T3
O1 T1 T2 O2 A T3
O1 T1 T2 O2 T3 A
O1 T1 T3 T2 A O2
O1 T1 T3 T2 O2 A
O1 T1 T3 A T2 O2
O1 T1 T3 A O2 T2
O1 T1 T3 O2 A T2
O1 T1 T3 O2 T2 A
O1 T1 A T3 T2 O2
O1 T1 A T3 O2 T2
O1 T1 A T2 T3 O2
O1 T1 A T2 O2 T3
O1 T1 A O2 T2 T3
O1 T1 A O2 T3 T2
O1 T1 O2 T3 A T2
O1 T1 O2 T3 T2 A
O1 T1 O2 A T3 T2
O1 T1 O2 A T2 T3
O1 T1 O2 T2 A T3
O1 T1 O2 T2 T3 A
O1 O2 T2 T3 T1 A
O1 O2 T2 T3 A T1
O1 O2 T2 T1 T3 A
O1 O2 T2 T1 A T3
O1 O2 T2 A T1 T3
O1 O2 T2 A T3 T1
O1 O2 T3 T2 T1 A
O1 O2 T3 T2 A T1
O1 O2 T3 T1 T2 A
O1 O2 T3 T1 A T2
O1 O2 T3 A T1 T2
O1 O2 T3 A T2 T1
O1 O2 T1 T3 T2 A
O1 O2 T1 T3 A T2
O1 O2 T1 T2 T3 A
O1 O2 T1 T2 A T3
O1 O2 T1 A T2 T3
O1 O2 T1 A T3 T2
O1 O2 A T3 T1 T2
O1 O2 A T3 T2 T1
O1 O2 A T1 T3 T2
O1 O2 A T1 T2 T3
O1 O2 A T2 T1 T3
O1 O2 A T2 T3 T1
O2 A T2 T3 O1 T1
O2 A T2 T3 T1 O1
O2 A T2 O1 T3 T1
O2 A T2 O1 T1 T3
O2 A T2 T1 O1 T3
O2 A T2 T1 T3 O1
O2 A T3 T2 O1 T1
O2 A T3 T2 T1 O1
O2 A T3 O1 T2 T1
O2 A T3 O1 T1 T2
O2 A T3 T1 O1 T2
O2 A T3 T1 T2 O1
O2 A O1 T3 T2 T1
O2 A O1 T3 T1 T2
O2 A O1 T2 T3 T1
O2 A O1 T2 T1 T3
O2 A O1 T1 T2 T3
O2 A O1 T1 T3 T2
O2 A T1 T3 O1 T2
O2 A T1 T3 T2 O1
O2 A T1 O1 T3 T2
O2 A T1 O1 T2 T3
O2 A T1 T2 O1 T3
O2 A T1 T2 T3 O1
O2 T2 A T3 O1 T1
O2 T2 A T3 T1 O1
O2 T2 A O1 T3 T1
O2 T2 A O1 T1 T3
O2 T2 A T1 O1 T3
O2 T2 A T1 T3 O1
O2 T2 T3 A O1 T1
O2 T2 T3 A T1 O1
O2 T2 T3 O1 A T1
O2 T2 T3 O1 T1 A
O2 T2 T3 T1 O1 A
O2 T2 T3 T1 A O1
O2 T2 O1 T3 A T1
O2 T2 O1 T3 T1 A
O2 T2 O1 A T3 T1
O2 T2 O1 A T1 T3
O2 T2 O1 T1 A T3
O2 T2 O1 T1 T3 A
O2 T2 T1 T3 O1 A
O2 T2 T1 T3 A O1
O2 T2 T1 O1 T3 A
O2 T2 T1 O1 A T3
O2 T2 T1 A O1 T3
O2 T2 T1 A T3 O1
O2 T3 T2 A O1 T1
O2 T3 T2 A T1 O1
O2 T3 T2 O1 A T1
O2 T3 T2 O1 T1 A
O2 T3 T2 T1 O1 A
O2 T3 T2 T1 A O1
O2 T3 A T2 O1 T1
O2 T3 A T2 T1 O1
O2 T3 A O1 T2 T1
O2 T3 A O1 T1 T2
O2 T3 A T1 O1 T2
O2 T3 A T1 T2 O1
O2 T3 O1 A T2 T1
O2 T3 O1 A T1 T2
O2 T3 O1 T2 A T1
O2 T3 O1 T2 T1 A
O2 T3 O1 T1 T2 A
O2 T3 O1 T1 A T2
O2 T3 T1 A O1 T2
O2 T3 T1 A T2 O1
O2 T3 T1 O1 A T2
O2 T3 T1 O1 T2 A
O2 T3 T1 T2 O1 A
O2 T3 T1 T2 A O1
O2 O1 T2 T3 A T1
O2 O1 T2 T3 T1 A
O2 O1 T2 A T3 T1
O2 O1 T2 A T1 T3
O2 O1 T2 T1 A T3
O2 O1 T2 T1 T3 A
O2 O1 T3 T2 A T1
O2 O1 T3 T2 T1 A
O2 O1 T3 A T2 T1
O2 O1 T3 A T1 T2
O2 O1 T3 T1 A T2
O2 O1 T3 T1 T2 A
O2 O1 A T3 T2 T1
O2 O1 A T3 T1 T2
O2 O1 A T2 T3 T1
O2 O1 A T2 T1 T3
O2 O1 A T1 T2 T3
O2 O1 A T1 T3 T2
O2 O1 T1 T3 A T2
O2 O1 T1 T3 T2 A
O2 O1 T1 A T3 T2
O2 O1 T1 A T2 T3
O2 O1 T1 T2 A T3
O2 O1 T1 T2 T3 A
O2 T1 T2 T3 O1 A
O2 T1 T2 T3 A O1
O2 T1 T2 O1 T3 A
O2 T1 T2 O1 A T3
O2 T1 T2 A O1 T3
O2 T1 T2 A T3 O1
O2 T1 T3 T2 O1 A
O2 T1 T3 T2 A O1
O2 T1 T3 O1 T2 A
O2 T1 T3 O1 A T2
O2 T1 T3 A O1 T2
O2 T1 T3 A T2 O1
O2 T1 O1 T3 T2 A
O2 T1 O1 T3 A T2
O2 T1 O1 T2 T3 A
O2 T1 O1 T2 A T3
O2 T1 O1 A T2 T3
O2 T1 O1 A T3 T2
O2 T1 A T3 O1 T2
O2 T1 A T3 T2 O1
O2 T1 A O1 T3 T2
O2 T1 A O1 T2 T3
O2 T1 A T2 O1 T3
O2 T1 A T2 T3 O1