Let S = {s_{1}, s_{2}, .... , s_{k}} denote a set of k genomes. The problem of fingerprinting is the task of identifying a shortest possible substring α_{i} from each string si such that α_{i} is unique to s_{i} - i.e., no other genome in the set S has α_{i}. Such an α_{i} will be called a fingerprint of si. (Note that it is OK for i to be present more than once within si.) Give an algorithm to enumerate a fingerprint for each input genome, if one exists. Assume that no two input genomes are identical.