# [Japt](https://github.com/ETHproductions/japt) v1.4.5, <s>61</s> <s>59</s> <s>92</s> <s>85</s> <s>84</s> <s>70</s> <s>68</s> 52 bytes

Assumes, as implied by the test cases, that the input will always be, or result in, a positive integer - i.e. not `0`.

Outputs `false` for invalid string inputs containing at least one valid letter, throws an overflow error for all others.

<pre><code>
"OIREASGTBP"
Ñ?UsV e"%v"²_ínuÃe"%V"²_íuu:U¶ßU=nV)©U</code></pre>

[Try it](https://petershaggynoble.github.io/Japt-Interpreter/?v=1.4.5&code=CiJPSVJFQVNHVEJQIgrRP1VzViBlIiV2IrJf7W51w2UiJVYisl/tdXU6VbbfVT1uVimpVQ&input=Wwo1MTI0MzEgIlNJUkFORU5JIgo4MzQ2NzcwODEgIkJFTkFHVVRVVE9CSSIKMzE0MTU5MiAiRU5JTkFOSVNVUFVSIgoxMjM0NTY3ODkwICJJUkVOQVNVR1VUVUJVUE8iCjYxNjQ4MTcgIkdJR0FCSVQiCjYxNjQ3MzU3MzIgIkdJR0FURVNVVEVSIgo0MzEgIkFFSSIKXS1tUg) (Includes all test cases)

---
- <s>2</s> 4 bytes saved thank to [obarakon](https://codegolf.stackexchange.com/users/61613/obarakon), who also convinced me to take this up again after I abandoned it earlier. I wish he hadn't!
- <s>33</s> <s>26</s> <s>25</s> <s>23(!)</s> 7 bytes sacrificed to check input validity.
---

## Explanation 
We can avoid explicitly removing `N` & `U` before trying to convert a string to a number thanks to the way Japt's custom base conversion works. Unlike the native `parseInt` function which stops parsing when it encounters an invalid character and returns the result up to that point, when using a custom base invalid characters are ignored and parsing continues from the next valid character.

    \n"..."\nÑ?UsV e"%v"²_ínuÃe"%V"²_íuu:U¶ßU=nV)©U     :Implicit input of integer or string U
    \n                                                  :Prevent input value of U from being overridden
      "..."\n                                           :Assign the string "OIREASGTBP" to variable V
             Ñ                                          :Multiply the input by 2
              ?                                         :If truthy (not NaN)
               UsV                                      :  Convert U to a string in custom base V
                   e                                    :  Recursively replace all occurrences of
                    "%v"                                :    Literal "%v"
                        ²                               :    Duplicate, giving the Japt RegEx class for /[AEIUO][AEIOU]/g
                         _                              :    Pass each match through the following function
                          í                             :      Interleave with
                           n                            :        Literal "n"
                            u                           :        Uppercase
                             Ã                          :  End replace
                              e"%V"²                    :  Recursively replace all occurrences of /[^AEIOU][^AEIOU]/g
                                    _                   :  Pass each match through the following function
                                     íuu                :    Interleave with "u" uppercased
                                        :               :Else
                                         U¶             :  Check U for equality with
                                           ß            :    Recursive call with argument
                                            U=          :      Reassign to U
                                              nV        :      Convert U from a base-V string to an integer
                                                )       :    End recursive call
                                                 ©U     :  Logical AND with U