Let S = {s1, s2, .... , sk} 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 si - 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.