#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1000000,ha=998244353;
inline int add(int x,int y){ x+=y; return x>=ha?x-ha:x;}
inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}
inline int ksm(int x,int y)
{
    int an=1;
    for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha;
    return an;
}
int jc[maxn+5],ni[maxn+5],n,m,ans;
inline int C(int x,int y){ return x<y?0:jc[x]*(ll)ni[y]%ha*(ll)ni[x-y]%ha;}
inline void init()
{
    jc[0]=1;
    for(int i=1;i<=maxn;i++) jc[i]=jc[i-1]*(ll)i%ha;
    ni[maxn]=ksm(jc[maxn],ha-2);
    for(int i=maxn;i;i--) ni[i-1]=ni[i]*(ll)i%ha;
}
inline void solve()
{
    for(int i=1;i<=m;i++)
        ADD(ans,C(i<<1,i)*(ll)C(n+m-i*2,n-i)%ha);    
}
int main()
{
    init();
    scanf("%d%d",&n,&m);
    if(n<m) swap(n,m);
    solve();
    ans=ans*(ll)ni[2]%ha*(ll)ksm(C(n+m,n),ha-2)%ha;
    ADD(ans,n);
    printf("%d\n",ans);
    return 0;
}