因为异或结果等于 0 只有一种情况,就是两个数相等,所以只要算出两个区间的交集有多少个数,再除以两个区间所有组合的总数,就是答案。

void solve(){
    ll a,b,c,d;
    while(cin>>a>>b>>c>>d){
        ll l=max(a,c),r=min(b,d);
        ll cnt=max(0LL,r-l+1);
        ll den=(b-a+1)*(d-c+1);
        if(cnt==0){
            cout<<"0/1"<<endl;
        }else{
            ll g=gcd(cnt,den);
            cout<<cnt/g<<"/"<<den/g<<endl;
        }
    }
}