All 3! = 6 orderings of three distinct keys a, b, c, and the comparisons
a comparison sort must make to tell each one apart:

  permutation (1,2,3)  a<b? yes  b<c? yes  a<c? yes
  permutation (1,3,2)  a<b? yes  b<c? no   a<c? yes
  permutation (2,1,3)  a<b? no   b<c? yes  a<c? yes
  permutation (2,3,1)  a<b? yes  b<c? no   a<c? no 
  permutation (3,1,2)  a<b? no   b<c? yes  a<c? no 
  permutation (3,2,1)  a<b? no   b<c? no   a<c? no 

Six outcomes need six leaves. A binary tree of height h has at most 2^h
leaves, so h >= lg 6 = 2.5850, and since h is an integer, h >= 3.

    n |                  n! | lg(n!) | ceil(lg n!) | n lg n
    2                     2      1.0             1      2.0
    3                     6      2.6             3      4.8
    4                    24      4.6             5      8.0
    5                   120      6.9             7     11.6
    8                 40320     15.3            16     24.0
   10               3628800     21.8            22     33.2
   12             479001600     28.8            29     43.0
   16        20922789888000     44.3            45     64.0
   20   2432902008176640000     61.1            62     86.4
