#include <bits/stdc++.h>
#define sll(n) (n)=scn()
#define sll2(m,n) sll((m)),sll((n))
#define sll3(m,n,o) sll((m)),sll((n)),sll((o))
#define sll4(m,n,o,p) sll((m)),sll((n)),sll((o)),sll((p))
#define sdd(n) scanf("%lf",&(n))
#define sdd2(m,n) scanf("%lf%lf",&(m),&(n))
#define sdd3(m,n,o) scanf("%lf%lf%lf",&(m),&(n),&(o))
#define sdd4(m,n,o,p) scanf("%lf%lf%lf%lf",&(m),&(n),&(o),&(p))
#define pll(n) printf("%lld ",(n))
#define plln(n) printf("%lld\n",(n))
//#define ps(s) printf("%s",s)
//#define psn(s) printf("%s\n",s)
#define nln printf("\n")
#define cln cout<<"\n"
#define clr(dp,x) memset(dp,x,sizeof(dp))
#define pb push_back
#define mp make_pair
#define s(a) sort(a.begin(),a.end())
#define sa(a,n) sort(a,a+(n))
#define vecll vector<int64_t>
#define vecs vector<string>
#define vecpll vector<pair<int64_t,int64_t> >
#define pii pair <int64_t , int64_t >
#define plpl pair <int64_t , pair <int64_t , int64_t > >
#define ppll pair < pair <int64_t , int64_t > , int64_t >
#define pplpl pair < pair <int64_t , int64_t >, pair <int64_t , int64_t > >
//#define rep(i, begin, end) for (__typeof(end) i = (begin); i != (end) - ((begin) > (end)); i += 1 - 2 * ((begin) > (end)))
#define rep(i,a,n) for(int64_t i=a;i<n;++i)
#define repr(i,b,a) for(int64_t i=b;i>=a;--i)
#define rep1(it,v) for(auto &it:(v))
#define all(c) (c).begin(),(c).end()
#define fast_IO ios_base::sync_with_stdio(false);cin.tie(0);
#define while_tc int64_t testkase;sll(testkase);while(testkase-->0)
#define while_tc_ int64_t testkase;cin>>testkase;while(testkase-->0)
#define adjlw vector<vecpll > /// ( connected to , weight ) - adjlw adj(MAXN)
#define adjl vecll ///connected to - adjl adj[MAXN]
#define ispow2(n) (n&&(!(n&(n-1)))) ///check if its perfect power of 2
#define ff first
#define ss second
#define bit(mask) __builtin_popcount(mask)
#define lsb(x) __builtin_ffl(x)-1
#define pi 3.1415926535897932384626433832795
typedef int64_t ll;
ll INF=1000000000000000;
ll MOD=1000000007;
ll MOD2 = MOD*MOD;
typedef unsigned long long int ull; /// specifier - llu
using namespace std;
inline ll fastmul(ll e, ll n){ll x=0,p=e;while(n>0){if(n&1)x=x+p;p<<=1;n>>=1;}return x;}
inline ll fastmul(ll e, ll n, ll m){e%=m,n%=m;ll x=0,p=e;while(n>0){if(n&1){x=x+p;if(x>=m)x-=m;}p=p<<1;if(p>=m)p-=m;n>>=1;}return x;}
inline ll power(ll e, ll n){ll x=1,p=e;while(n>0){if(n&1)x=fastmul(x,p);p=fastmul(p,p);n>>=1;}return x;}
inline ll power(ll e, ll n, ll m){ll x=1,p=e;while(n>0){if(n&1)x=fastmul(x,p,m);p=fastmul(p,p,m);n>>=1;}return x;}
inline ll InverseEuler(ll a, ll m){return (a==1? 1 : power(a, m-2, m));}
inline ll lcm(ll a, ll b){return (a*(b/__gcd(a,b)));}
inline ll InverseEuclid(ll a, ll m){ll m0=m,t,q,x0=0,x1=1;if(m==1)return 0;while (a>1){q=a/m;t=m;m=a%m;a=t;t=x0;x0=x1-q*x0;x1=t;}return(x1<0?x1+m0:x1);}
//inline ll CRT(){ll M=1,ans=0;rep(i,0,n)M*=num[i];rep(i,0,n)ans=(ans%M+(rem[i]%M*(M/num[i])*(InverseEuclid(M/num[i],num[i]))%M)%M)%M;return ans;}
ll movex8[]={-1,-1,-1,0,0,1,1,1};
ll movey8[]={-1,0,1,-1,1,-1,0,1};
ll movex4[]={1,-1,0,0};
ll movey4[]={0,0,1,-1};
#ifndef ONLINE_JUDGE
inline int getchar_unlocked() { return getchar(); }
#endif
inline ll scn()
{
ll n = 0, c = getchar_unlocked(),t=0;
if (c == EOF) return EOF;
while(c < '0' || c > '9') { if(c==45)t=1; c = getchar_unlocked(); }
while(c >= '0' && c <= '9')n = (n<<3) + (n<<1) + c - '0', c = getchar_unlocked();
if(t==0)return n; else return -n;
}
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
//fast_IO
ll n, m;
while(sll2(n, m), n!=EOF, m!=EOF)
{
if (n>m)
plln(n - m);
else
plln(m - n);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgc2xsKG4pIChuKT1zY24oKQojZGVmaW5lIHNsbDIobSxuKSBzbGwoKG0pKSxzbGwoKG4pKQojZGVmaW5lIHNsbDMobSxuLG8pIHNsbCgobSkpLHNsbCgobikpLHNsbCgobykpCiNkZWZpbmUgc2xsNChtLG4sbyxwKSBzbGwoKG0pKSxzbGwoKG4pKSxzbGwoKG8pKSxzbGwoKHApKQojZGVmaW5lIHNkZChuKSBzY2FuZigiJWxmIiwmKG4pKQojZGVmaW5lIHNkZDIobSxuKSBzY2FuZigiJWxmJWxmIiwmKG0pLCYobikpCiNkZWZpbmUgc2RkMyhtLG4sbykgc2NhbmYoIiVsZiVsZiVsZiIsJihtKSwmKG4pLCYobykpCiNkZWZpbmUgc2RkNChtLG4sbyxwKSBzY2FuZigiJWxmJWxmJWxmJWxmIiwmKG0pLCYobiksJihvKSwmKHApKQojZGVmaW5lIHBsbChuKSBwcmludGYoIiVsbGQgIiwobikpCiNkZWZpbmUgcGxsbihuKSBwcmludGYoIiVsbGRcbiIsKG4pKQovLyNkZWZpbmUgcHMocykgcHJpbnRmKCIlcyIscykKLy8jZGVmaW5lIHBzbihzKSBwcmludGYoIiVzXG4iLHMpCiNkZWZpbmUgbmxuIHByaW50ZigiXG4iKQojZGVmaW5lIGNsbiBjb3V0PDwiXG4iCiNkZWZpbmUgY2xyKGRwLHgpIG1lbXNldChkcCx4LHNpemVvZihkcCkpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcyhhKSBzb3J0KGEuYmVnaW4oKSxhLmVuZCgpKQojZGVmaW5lIHNhKGEsbikgc29ydChhLGErKG4pKQojZGVmaW5lIHZlY2xsIHZlY3RvcjxpbnQ2NF90PgojZGVmaW5lIHZlY3MgdmVjdG9yPHN0cmluZz4KI2RlZmluZSB2ZWNwbGwgdmVjdG9yPHBhaXI8aW50NjRfdCxpbnQ2NF90PiA+CiNkZWZpbmUgcGlpIHBhaXIgPGludDY0X3QgLCBpbnQ2NF90ID4KI2RlZmluZSBwbHBsIHBhaXIgPGludDY0X3QgLCBwYWlyIDxpbnQ2NF90ICwgaW50NjRfdCA+ID4KI2RlZmluZSBwcGxsIHBhaXIgPCBwYWlyIDxpbnQ2NF90ICwgaW50NjRfdCA+ICwgaW50NjRfdCA+CiNkZWZpbmUgcHBscGwgcGFpciA8IHBhaXIgPGludDY0X3QgLCBpbnQ2NF90ID4sIHBhaXIgPGludDY0X3QgLCBpbnQ2NF90ID4gPgovLyNkZWZpbmUgcmVwKGksIGJlZ2luLCBlbmQpIGZvciAoX190eXBlb2YoZW5kKSBpID0gKGJlZ2luKTsgaSAhPSAoZW5kKSAtICgoYmVnaW4pID4gKGVuZCkpOyBpICs9IDEgLSAyICogKChiZWdpbikgPiAoZW5kKSkpCiNkZWZpbmUgcmVwKGksYSxuKSBmb3IoaW50NjRfdCBpPWE7aTxuOysraSkKI2RlZmluZSByZXByKGksYixhKSBmb3IoaW50NjRfdCBpPWI7aT49YTstLWkpCiNkZWZpbmUgcmVwMShpdCx2KSBmb3IoYXV0byAmaXQ6KHYpKQojZGVmaW5lIGFsbChjKSAoYykuYmVnaW4oKSwoYykuZW5kKCkKI2RlZmluZSBmYXN0X0lPIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoMCk7CiNkZWZpbmUgd2hpbGVfdGMgaW50NjRfdCB0ZXN0a2FzZTtzbGwodGVzdGthc2UpO3doaWxlKHRlc3RrYXNlLS0+MCkKI2RlZmluZSB3aGlsZV90Y18gaW50NjRfdCB0ZXN0a2FzZTtjaW4+PnRlc3RrYXNlO3doaWxlKHRlc3RrYXNlLS0+MCkKI2RlZmluZSBhZGpsdyB2ZWN0b3I8dmVjcGxsID4gIC8vLyAoIGNvbm5lY3RlZCB0byAsIHdlaWdodCApIC0gYWRqbHcgYWRqKE1BWE4pCiNkZWZpbmUgYWRqbCB2ZWNsbCAvLy9jb25uZWN0ZWQgdG8gLSBhZGpsIGFkaltNQVhOXQojZGVmaW5lIGlzcG93MihuKSAobiYmKCEobiYobi0xKSkpKSAgICAgIC8vL2NoZWNrIGlmIGl0cyBwZXJmZWN0IHBvd2VyIG9mIDIKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGJpdChtYXNrKSBfX2J1aWx0aW5fcG9wY291bnQobWFzaykKI2RlZmluZSBsc2IoeCkgX19idWlsdGluX2ZmbCh4KS0xCiNkZWZpbmUgcGkgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2NDMzODMyNzk1CnR5cGVkZWYgaW50NjRfdCBsbDsKbGwgSU5GPTEwMDAwMDAwMDAwMDAwMDA7CmxsIE1PRD0xMDAwMDAwMDA3OwpsbCBNT0QyID0gTU9EKk1PRDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVsbDsgLy8vIHNwZWNpZmllciAtIGxsdQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW5saW5lIGxsIGZhc3RtdWwobGwgZSwgbGwgbil7bGwgeD0wLHA9ZTt3aGlsZShuPjApe2lmKG4mMSl4PXgrcDtwPDw9MTtuPj49MTt9cmV0dXJuIHg7fQppbmxpbmUgbGwgZmFzdG11bChsbCBlLCBsbCBuLCBsbCBtKXtlJT1tLG4lPW07bGwgeD0wLHA9ZTt3aGlsZShuPjApe2lmKG4mMSl7eD14K3A7aWYoeD49bSl4LT1tO31wPXA8PDE7aWYocD49bSlwLT1tO24+Pj0xO31yZXR1cm4geDt9CmlubGluZSBsbCBwb3dlcihsbCBlLCBsbCBuKXtsbCB4PTEscD1lO3doaWxlKG4+MCl7aWYobiYxKXg9ZmFzdG11bCh4LHApO3A9ZmFzdG11bChwLHApO24+Pj0xO31yZXR1cm4geDt9CmlubGluZSBsbCBwb3dlcihsbCBlLCBsbCBuLCBsbCBtKXtsbCB4PTEscD1lO3doaWxlKG4+MCl7aWYobiYxKXg9ZmFzdG11bCh4LHAsbSk7cD1mYXN0bXVsKHAscCxtKTtuPj49MTt9cmV0dXJuIHg7fQppbmxpbmUgbGwgSW52ZXJzZUV1bGVyKGxsIGEsIGxsIG0pe3JldHVybiAoYT09MT8gMSA6IHBvd2VyKGEsIG0tMiwgbSkpO30KaW5saW5lIGxsIGxjbShsbCBhLCBsbCBiKXtyZXR1cm4gKGEqKGIvX19nY2QoYSxiKSkpO30KaW5saW5lIGxsIEludmVyc2VFdWNsaWQobGwgYSwgbGwgbSl7bGwgbTA9bSx0LHEseDA9MCx4MT0xO2lmKG09PTEpcmV0dXJuIDA7d2hpbGUgKGE+MSl7cT1hL207dD1tO209YSVtO2E9dDt0PXgwO3gwPXgxLXEqeDA7eDE9dDt9cmV0dXJuKHgxPDA/eDErbTA6eDEpO30KLy9pbmxpbmUgbGwgQ1JUKCl7bGwgTT0xLGFucz0wO3JlcChpLDAsbilNKj1udW1baV07cmVwKGksMCxuKWFucz0oYW5zJU0rKHJlbVtpXSVNKihNL251bVtpXSkqKEludmVyc2VFdWNsaWQoTS9udW1baV0sbnVtW2ldKSklTSklTSklTTtyZXR1cm4gYW5zO30KCgpsbCBtb3ZleDhbXT17LTEsLTEsLTEsMCwwLDEsMSwxfTsKbGwgbW92ZXk4W109ey0xLDAsMSwtMSwxLC0xLDAsMX07CgpsbCBtb3ZleDRbXT17MSwtMSwwLDB9OwpsbCBtb3ZleTRbXT17MCwwLDEsLTF9OwoKI2lmbmRlZiBPTkxJTkVfSlVER0UKaW5saW5lIGludCBnZXRjaGFyX3VubG9ja2VkKCkgeyByZXR1cm4gZ2V0Y2hhcigpOyB9CiNlbmRpZgppbmxpbmUgbGwgc2NuKCkKewogICAgbGwgbiA9IDAsIGMgPSBnZXRjaGFyX3VubG9ja2VkKCksdD0wOwogICAgaWYgKGMgPT0gRU9GKSByZXR1cm4gRU9GOwogICAgd2hpbGUoYyA8ICcwJyB8fCBjID4gJzknKSB7IGlmKGM9PTQ1KXQ9MTsgYyA9IGdldGNoYXJfdW5sb2NrZWQoKTsgfQogICAgd2hpbGUoYyA+PSAnMCcgJiYgYyA8PSAnOScpbiA9IChuPDwzKSArIChuPDwxKSArIGMgLSAnMCcsIGMgPSBnZXRjaGFyX3VubG9ja2VkKCk7CiAgICBpZih0PT0wKXJldHVybiBuOyBlbHNlIHJldHVybiAtbjsKfQoKCgppbnQgbWFpbigpCnsKICAgIC8vZnJlb3BlbigiaW5wdXQudHh0IiwiciIsc3RkaW4pOwoJLy9mcmVvcGVuKCJvdXRwdXQudHh0IiwidyIsc3Rkb3V0KTsKCS8vZmFzdF9JTwoJbGwgbiwgbTsKCXdoaWxlKHNsbDIobiwgbSksIG4hPUVPRiwgbSE9RU9GKQogICAgewogICAgICAgIGlmIChuPm0pCiAgICAgICAgICAgIHBsbG4obiAtIG0pOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcGxsbihtIC0gbik7CiAgICB9CglyZXR1cm4gMDsKfQo=