title: find special order n length combinations of two n length arrays
body: <p>Given two N length arrays, find the N length combinations of those arrays giving precedence to the elements of the B array.</p>
  
  <p>For example, given the input of arrays <code>A: [1,2,3]</code> and <code>B: [4,5,6]</code>
  <code>Fun(A,B)</code> could yield:</p>
  
  <p><code>
  [4, 5, 6] -&gt; contains 3 from the B array
  [4, 5, 3] -&gt; contains 2 from the B array
  [4, 2, 6] -&gt; contains 2 from the B array
  [1, 5, 6] -&gt; contains 2 from the B array
  [4, 2, 3] -&gt; contains 1 from the B array 
  [1, 5, 3] -&gt; contains 1 from the B array
  [1, 2, 6] -&gt; contains 1 from the B array
  </code></p>
  
  <p>What is most important, is that the most elements in the B array appear first when yielding combinations. </p>
  
  <p>P.S. I would prefer a linear runtime solution of K where K is the number of combinations that can be created (<code>2^N</code>).</p>