/*
với số Nguyên N ta phân tích:
nếu muốn cho số đó
trừng hợp 1: N là số chính phương. ta xuất ra 0 vì sqrt(n)-sqrt(n)=0.
trùng hợp còn lại: ta chạy trừng từ căn bậc 2 của N nếu i*n/i=n thi ta xuat ra i-n/.
*/
#pragma GCC optimize("O3","unroll-loops")
#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
#define lcm(a, b) (a * b) / __gcd(a, b);
#define sq(n) (ll)sqrt(n)
using namespace std;
const ll INF = 1e18;
const ll mod = 1e9 + 7;
int main() {
ios :: sync_with_stdio(false);
cin.tie(nullptr);
ll n;
cin >> n;
n = abs(n);
if(sq(n) * sq(n) == n) {
cout << 0;
return 0;
}
for(ll i = sq(n); i >= 1; i --) {
if(i * (n / i) == n) {
cout << abs(i - (n / i));
return 0;
}
}
}
LyoKduG7m2kgc+G7kSBOZ3V5w6puIE4gdGEgcGjDom4gdMOtY2g6Cm7hur91IG114buRbiBjaG8gc+G7kSDEkcOzIAp0cuG7q25nIGjhu6NwIDE6IE4gbMOgIHPhu5EgY2jDrW5oIHBoxrDGoW5nLiB0YSB4deG6pXQgcmEgMCB2w6wgc3FydChuKS1zcXJ0KG4pPTAuCnRyw7luZyBo4bujcCBjw7JuIGzhuqFpOiB0YSBjaOG6oXkgdHLhu6tuZyB04burIGPEg24gYuG6rWMgMiBj4bunYSBOIG7hur91IGkqbi9pPW4gdGhpIHRhIHh1YXQgcmEgaS1uLy4KKi8KI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk8zIiwidW5yb2xsLWxvb3BzIikKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgbGNtKGEsIGIpIChhICogYikgLyBfX2djZChhLCBiKTsKI2RlZmluZSBzcShuKSAobGwpc3FydChuKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBsbCBJTkYgPSAxZTE4Owpjb25zdCBsbCBtb2QgPSAxZTkgKyA3OwppbnQgbWFpbigpIHsKICBpb3MgOjogc3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICBjaW4udGllKG51bGxwdHIpOwogIGxsIG47CiAgY2luID4+IG47CiAgbiA9IGFicyhuKTsKICBpZihzcShuKSAqIHNxKG4pID09IG4pIHsKICAgICBjb3V0IDw8IDA7CiAgICAgcmV0dXJuIDA7CiAgfQogIGZvcihsbCBpID0gc3Eobik7IGkgPj0gMTsgaSAtLSkgewogICAgaWYoaSAqIChuIC8gaSkgPT0gbikgewogICAgICBjb3V0IDw8IGFicyhpIC0gKG4gLyBpKSk7CiAgICAgIHJldHVybiAwOwogICAgfQogIH0KfQo=