#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
inline int summ(long long x)
{
int res = 0;
while (x)
{
res += x % 10ll;
x /= 10ll;
}
return res;
}
int main()
{
long long n;
cin >> n;
for (int s=1;s<=18*9;s++)
{
unsigned long long d = sqrt(1.0*s*s+4*n);
if (d*d!=s*s+4*n)
continue;
long long x = (-s +(long long)d) / 2ll;
if (summ(x) == s)
{
cout << x;
return 0;
}
}
cout << -1;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW5saW5lIGludCBzdW1tKGxvbmcgbG9uZyB4KQp7CiAgICBpbnQgcmVzID0gMDsKICAgIHdoaWxlICh4KQogICAgewogICAgICAgIHJlcyArPSB4ICUgMTBsbDsKICAgICAgICB4IC89IDEwbGw7CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpCnsKICAgIGxvbmcgbG9uZyBuOwogICAgY2luID4+IG47CiAgICBmb3IgKGludCBzPTE7czw9MTgqOTtzKyspCiAgICB7CiAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGQgPSBzcXJ0KDEuMCpzKnMrNCpuKTsKICAgICAgICBpZiAoZCpkIT1zKnMrNCpuKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICBsb25nIGxvbmcgeCA9ICgtcyArKGxvbmcgbG9uZylkKSAvIDJsbDsKICAgICAgICBpZiAoc3VtbSh4KSA9PSBzKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCB4OwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IC0xOwogICAgcmV0dXJuIDA7Cn0=