#include #define maxn 100009 #define lson l, m, rt << 1 #define rson m + 1, r, rt << 1 | 1 using namespace std; int t,b,f,c; int main(){ cin>>t>>b>>f>>c; int n=t+1; if(b!=f){ puts("-1"); return 0; } if(n==1){ if(b||f||c) puts("-1"); else{ printf("1\n"); printf("0\n"); } return 0; } else{ for(int i=1;i<=n-1;i++){ int r=(n-1)/i; int cnt; if((n-1)%i==0){ cnt=i; } else{ cnt=i-(n-1)%i; } long long cnt1=1LL*r*(r-1)/2*cnt+1LL*(r+1)*r/2*(i-cnt); long long cnt2=1LL*(n-1)*(n-2)/2; if(cnt1>=c&&cnt2>=f){ return 0; } } } puts("-1"); return 0; }