Insta-Name... Just Add Coder! In the English language, a surefire way to make a pronounceable nonsense letter combination is to make it entirely out of consonant-vowel pairs, e.g., Wu ko pa ha, or, Me fa ro, consonant first, followed by vowel.

Challenge:

Write a program or function that will, given a user-specified number of letters, create a random name using this principle. It's that simple.

Input:

An integer greater than or equal to 2 which designates the required number of letters in the output. Input can be taken from STDIN, command line arguments, or function arguments.

Output:

A string of the given length containing randomly selected consonant-vowel pairs. It can be printed to STDOUT or closest alternative or returned in the case of a function.

Rules:


Each consonant of the English alphabet should have equal probability of being selected for the first character of each pair, and each vowel of the English alphabet should have equal probability of being selected for the second character of each pair.
Letter pairs may be repeated.
Since this is a name, the first letter must be capitalized.
If the input is odd, a randomly selected letter pair in the name should have y or h appended to the end. The choice of y or h should be random as well.
Standard loopholes are not permitted.
Smallest code in bytes wins.


Letter definitions:

Consonants:

bcdfghjklmnpqrstvwxyz


Vowels:

aeiou


Example I/O:

Input: 6
Output: Mefaro

Input: 9
Output: Wukohpaha


Enjoy!
JavaScript ES6, 187 180 168 bytes

f=l=&gt;{r=m=&gt;Math.random()*m|0
d=l%2&amp;&amp;r(--l/2)*2+1
for(s='';l--;s+=s?a:a.toUpperCase())a=l%2?'bcdfghjklmnpqrstvwxyz'[r(21)]:'aeiou'[r(5)]+(l==d-1?'hy'[r(2)]:'')
return s}


Edit: I switched from using regex replace to a simple for loop, which improved the length considerably. Ungolfed code and test UI below. Input a negative number at your own risk because it makes an infinite loop. (Thanks to unclemeat for pointing that out.)



f=function(l){
  // Function to return a random integer between 0 and m-1 inclusive
  r=function(m){
    return Math.random()*m|0
  }
  // d is the position the h or y will be added
  // l is decremented only if l is odd so an extra consonant won't be added to the end
  d=l%2&amp;&amp;r(--l/2)*2+1
  
  for(s='';l--;){
    a=l%2?'bcdfghjklmnpqrstvwxyz'[r(21)]:'aeiou'[r(5)]+(l==d-1?'hy'[r(2)]:'')
    // If `s` is empty (i.e. this is the first leter), make it uppercase
    s+=s?a:a.toUpperCase()
  }
  return s
}

run=function(){ip=parseInt(document.getElementById('input').value);if(ip&lt;2)return alert('Input must be greater than one.');document.getElementById('output').innerHTML=f(ip)};document.getElementById('run').onclick=run;run()
&lt;input type="number" id="input" value="7" min="2" /&gt;&lt;button id="run"&gt;Run&lt;/button&gt;&lt;br /&gt;
&lt;pre id="output"&gt;&lt;/pre&gt;