  We study the following rearrangement problem: Given $n$ words, rearrange and
concatenate them so that the obtained string is lexicographically smallest (or
largest, respectively). We show that this problem reduces to sorting the given
words so that their repeating strings are non-decreasing (or non-increasing,
respectively), where the repeating string of a word $A$ refers to the infinite
string $AAA\ldots$. Moreover, for fixed size alphabet $\Sigma$, we design an
$O(L)$ time sorting algorithm of the words (in the mentioned orders), where $L$
denotes the total length of the input words. Hence we obtain an $O(L)$ time
algorithm for the rearrangement problem. Finally, we point out that comparing
primitive words via comparing their repeating strings leads to a total order,
which can further be extended to a total order on the finite words (or all
words).
