### Motivation

In [this](https://codegolf.stackexchange.com/questions/133767/element-wise-string-multiplication) challenge your task was to multiply two strings, this naturally introduces a way to take the square root of a string.

### How does it work?

Given a string (for example `pub`) the first thing you need to do, is to determine the [ASCII code](https://en.wikipedia.org/wiki/ASCII#Printable_characters) for each character:

 "pub" -> [112, 117, 98]

Next you map these codes to the range `[0..95]` by subtracting `32` of each value:

 [112, 117, 98] -> [80, 85, 66]

Now you need to find for each value its root modulo `95` (eg. `40*40 % 95 = 80`):

 [80, 85, 66] -> [40, 35, 16]

And finally you'll map it back to the range `[32..126]` and convert it back to a string:

 [40, 35, 16] -> [72, 67, 48] -> "HC0"

Indeed `"HC0" ⊗ "HC0" = "pub"` as you can verify with a solution from the other challenge [here](https://tio.run/##y00syfn/P9nYSLfA0jTG2Eg7@f//anUPZwN1HQUwVQsA "MATL – Try It Online").

----------

The ones familiar with [modular arithmetic](https://en.wikipedia.org/wiki/Modular_arithmetic#Integers_modulo_n) probably noticed that the square root modulo `95` does not always exist, for example there's no root for `2`. In such a case the square root of a string/character is not defined and your program/function may crash, loop indefinetly etc. but doesn't print/return a string.

For your convenience, here's the list of chars that have a square root (the first one is a space):

 !$%&)+03489:>CDGLMQVW]`bjlpqu

### Rules

 - You will write a program/function that takes a string (list of chars) as an argument and returns its square root if it exists
 - The input may consist of an empty string
 - The input will be characters in the printable range (`[32..126]`)
 - The output is either printed to the console or you return a string if the square root exists
 - In case the square root doesn't exist, your program/function may do whatever it wants to but not print/return a string
 - Your program terminates
 - If you choose to print the root to the console trailing newlines or whitespaces are fine

### Test cases

 'pub' -> 'HC0'
 'pull!' -> 'HC33!'
 'M>>M' -> '>MM>'
 '49' -> '4%'
 '64' -> undefined
 'Hello, World!' -> undefined