title: build shortest string from a collection of its subsequence
body: <p>Given a collection of sub-sequences from a string.</p>
  
  <p>For example:</p>
  
  <pre><code>abc
  acd
  bcd
  </code></pre>
  
  <p>The problem is, how to determine the shortest string from these sequences?</p>
  
  <p>For the above example, the shortest string is <code>abcd</code>.</p>
  
  <p>Here <em>sub-sequences</em> means part of a string but not necessarily consecutive. like <code>acd</code> is a sub-sequence of string <code>abcd</code>.</p>
  
  <p><em>Edit</em>: This problem actually comes from <a href="http://projecteuler.net/problem=79" rel="nofollow">Project Euler problem 79</a>, in that problem, we have 50 subsequences, each has the length of 3. and all characters are digits. </p>