It's better to place the label above the input box it will be noticeable to the user at all times. Because the moment you place the label inside the input field user will lose context on what is the input type to be entered in turn a cognitive load on the user. The user has to delete/erase the input in order to recheck.
For the desktop version, you can with ver 2 & 3. For the mobile version, ver 2.
For reference: https://www.nngroup.com/articles/form-design-placeholders/
https://uxplanet.org/float-label-pattern-in-ux-form-design-7ab5e33010ab
Let me know if you have any doubts. Hope this solves the problem.