#include using namespace std; #define ll long long const int N=1e5+5; int a,b,c,d,n,m; pair e[N]; signed main(){ // freopen("hometown.in","r",stdin); // freopen("hometown.out","w",stdout); cin>>a>>b>>c>>d; if(a==b&&b==c){ if(a==1){ cout<<-1; return 0; } e[++m]={0,1}; e[++m]={1,0}; for (int i=2;i<=a-1;i++) e[++m]={i-1,i}; } else if(a==c){ e[++m]={1,0}; n=1; for (int i=1;i<=a-1;i++) e[++m]={0,++n}; b-=a; for (int i=1;i<=b-1;i++) e[++m]={1,++n}; } else if(b==c){ e[++m]={0,1}; n=1; for (int i=1;i<=b-1;i++) e[++m]={1,++n}; a-=b; for (int i=1;i<=a-1;i++) e[++m]={0,++n}; } else{ int lst=0,p=0; n=1; for (int i=1;i<=a-1;i++){ e[++m]={lst,++n}; lst=n; if(a-c+1==i+1) p=lst; } lst=1; for (int i=1;i<=b-c-1;i++){ e[++m]={lst,++n}; lst=n; } e[++m]={lst,p}; } if(m>d){ cout<<-1; return 0; } n=0; for (int i=1;i<=m;i++){ n=max(n,e[i].first); n=max(n,e[i].second); } cout<