  We study the following substring suffix selection problem: given a substring
of a string T of length n, compute its k-th lexicographically smallest suffix.
This a natural generalization of the well-known question of computing the
maximal suffix of a string, which is a basic ingredient in many other problems.
We first revisit two special cases of the problem, introduced by Babenko,
Kolesnichenko and Starikovskaya [CPM'13], in which we are asked to compute the
minimal non-empty and the maximal suffixes of a substring. For the maximal
suffixes problem, we give a linear-space structure with O(1) query time and
linear preprocessing time, i.e., we manage to achieve optimal construction and
optimal query time simultaneously. For the minimal suffix problem, we give a
linear-space data structure with O(\tau) query time and O(n log n / \tau)
preprocessing time, where 1 <= \tau <= log n is a parameter of the data
structure. As a sample application, we show that this data structure can be
used to compute the Lyndon decomposition of any substring of T in O(k \tau)
time, where k is the number of distinct factors in the decomposition.
  Finally, we move to the general case of the substring suffix selection
problem, where using any combinatorial properties seems more difficult.
Nevertheless, we develop a linear-space data structure with O(log^{2+\epsilon}
n) query time.
