stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <map>

#include <cstdio>

#include <vector>

#include <algorithm>

using namespace std;



typedef long long ll;



const int MAXN = 100000;



vector<int>G[MAXN + 5];

map<ll, int>mp;



int siz[MAXN + 5];



ll check(int x) {

	ll ret = 0;

	for(int i=0;i<G[x].size();i++) {

		int to = G[x][i];

		ret += check(to) + siz[to];

	}

	return ret;

}



int main() {

	int n; scanf("%d", &n);

	for(int i=1;i<=n;i++) {

		ll D; scanf("%lld", &D);

		mp[D] = i, siz[i] = 1;

	}

	map<ll, int>::reverse_iterator rt;

	for(map<ll, int>::reverse_iterator it=mp.rbegin();it!=mp.rend();it++) {

		if( siz[it->second] == n ) {

			rt = it;

			break;

		}

		int x = it->second;

		ll k = it->first + siz[x] - (n - siz[x]);

		if( k < it->first && mp.count(k) ) {

			int p = mp[k];

			siz[p] += siz[x];

			G[p].push_back(x);

		}

		else {

			puts("-1");

			return 0;

		}

	}

	if( check(rt->second) == rt->first ) {

		for(int i=1;i<=n;i++) {

			for(int j=0;j<G[i].size();j++)

				printf("%d %d\n", i, G[i][j]);

		}

	}

	else puts("-1");

}

// Faster C++ solution for the same problem (measured speedup: 3.4822285741727095x):
#include <map>

#include <cstdio>

#include <cstring>

#include <iostream>

#include <algorithm>

using namespace std;

#define ll long long

#define N 100005

#define M 200005

map<ll, int>p;

map<ll, int>::iterator it;

int fat[N], siz[N], a[N], b[N], fir[N], nex[M], tar[M];

int n, cnt;

void Add(int a, int b)

{

	++cnt;

	tar[cnt] = b;

	nex[cnt] = fir[a];

	fir[a] = cnt;

}

ll wd[N], d[N];

void Dfs(int x, int dis)

{

    siz[x] = 1;

    d[1] += dis;

	for (int i = fir[x]; i; i = nex[i])

    {

		if (tar[i] != fat[x])

		{

			fat[tar[i]] = x;

			Dfs(tar[i], dis + 1);

			siz[x] += siz[tar[i]];

        }

    }

}

void Dfs(int x)

{

	for (int i = fir[x]; i; i = nex[i])

	{

		if (tar[i] != fat[x])

        {

            d[tar[i]] = d[x] + n - siz[tar[i]] * 2;

            Dfs(tar[i]);

        }

    }

}

int Getbel(int x)

{

	if (fat[x] == x)

		return x;

	return fat[x] = Getbel(fat[x]);

}

int main()

{

	scanf("%d",&n);

	for (int i = 1; i <= n; i++)

	{

		scanf("%lld", &wd[i]);

		p[wd[i]] = i;

	}

	for (int i = 1; i <= n; i++)

	{

		fat[i] = i;

		siz[i] = 1;

	}

	it = p.end();

	for (it--; it != p.begin(); it--)

	{

		if (n - siz[it -> second] * 2 == 0 || !p.count(it -> first - (n - siz[it -> second] * 2)))

		{

			puts("-1");

			return 0;

		}

		cnt++;

		a[cnt] = it -> second;

		b[cnt] = p[it -> first - (n - siz[it -> second] * 2)];

		siz[fat[a[cnt]] = Getbel(b[cnt])] += siz[a[cnt]];

	}

	cnt = 0;

	for (int i = 1; i < n; i++)

	{

		Add(a[i], b[i]);

		Add(b[i], a[i]);

	}

	fat[1] = 0;

	Dfs(1, 0);

	Dfs(1);

	for (int i = 1; i <= n; i++)

	{

		if (wd[i] != d[i])

		{

			puts("-1");

		    return 0;

		}

	}

	for (int i = 1; i < n; i++)

		printf("%d %d\n", a[i], b[i]);

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1234567;

char s[MAXN];

int f[MAXN];

int nxt[MAXN],prv[MAXN];

int main()

{

    int n;

    scanf("%d", &n);

    scanf("%s", s);

    memset(f,0,sizeof(f));

    nxt[n] = n;

    for(int i = n-1; i >= 0; --i)

    {

        if(s[i] == '0')

            nxt[i] = i;

        else

            nxt[i] = nxt[i+1];

    }

    for(int i = 0; i < n; ++i)

    {

        if(s[i] == '0')

            prv[i] = i;

        else

            prv[i] = (i==0?-1:prv[i-1]);

    }

    for(int i = 0; i  <= n; ++i)

    {

        if(i >= 3 && s[i-1] == '1' && s[i-2] == '0' && s[i-3] == '1')

        {

            int j = prv[i-3];

            f[i] = max(f[i],f[j+1]+(i-j-3));

            if(j != i-4)

                f[i] = max(f[i],f[j+2]+(i-j-4));

        }

        if(i == n)

            break;

        if(i+3 <= n && s[i] == '1' && s[i+1] == '0' && s[i+2] == '1')

        {

            int j = nxt[i+2];

            f[j] = max(f[j],f[i]+(j-i-2));

            if(j != i+3)

                f[j-1] = max(f[j-1],f[i]+(j-i-3));

        }

        f[i+1] = max(f[i+1],f[i]);

    }

    printf("%d\n",f[n]);

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 6.152666775317707x):
#include<cstring>

#include<algorithm>

#include<cmath>

#include<iostream>

#include<cstdio>

using namespace std;

typedef long long ll;

const int maxm=500007;

char s[maxm];

int n;

int dp[maxm];//到i位置的最大操作数 

int l[maxm];//在左边离i最近的0的位置 

int main()

{

 scanf("%d",&n);

 scanf("%s",s+1);

 for(int i=1;i<=n;i++)

 {

  if(s[i]=='1') l[i]=l[i-1];

  else l[i]=i;	

 }

 for(int i=1;i<=n;i++)

 {

   dp[i]=dp[i-1];

   if(s[i]=='1')

   {

     if(s[i-1]=='0'&&s[i-2]=='1')

     {

       dp[i]=max(dp[i],dp[l[i-2]]+i-l[i-2]-2);//100|11111101的贡献为他们的长度-2,

       dp[i]=max(dp[i],dp[l[i-2]+1]+i-l[i-2]-1-2);//11111101|11111101

     }

     else if(l[i]>1&&s[l[i]-1]=='1')

	 {

	  dp[i]=max(dp[i],dp[l[i]-2]+i-l[i]+2-2);//101111111

     }

   }

 }

 printf("%d\n",dp[n]);

 return 0;	

}
// Slower C++ solution:
#include <iostream>

#include <string>

#include <cstdio>

#include <cstdlib>



#define int long long



using namespace std;



const int SZ = 1e6;



int dp[SZ];



int32_t main()

{

    //freopen("input.txt", "r", stdin);

    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n;

    string s;

    cin >> n >> s;

    fill(dp, dp + SZ, 0);

    dp[0] = 0;

    for (int i = 0; i < n; i++)

    {

        dp[i + 1] = max(dp[i + 1], dp[i]);

        dp[i + 2] = max(dp[i + 2], dp[i]);

        if (s[i] == '1' || i == 0 || i == n - 1) continue;

        if (s[i-1] != '1' || s[i + 1] != '1') continue;

        int i1 = i - 1, i2 = i + 1;

        while (s[i1] == '1' && i1 >= 0)

            i1--;

        while (s[i2] == '1' && i2 < n)

            i2++;

        for (int j = i1 + 1; j < i; j++)

            dp[i + 2] = max(dp[i + 2], i - j + dp[j]);

        for (int j = i2 - 1; j > i; j--)

            dp[j + 1] = max(dp[j + 1], j - i + dp[i - 1]);

    }

    cout << dp[n] << endl;

}

// Faster C++ solution for the same problem (measured speedup: 1.8457105725445389x):
#include <iostream>

#include <string>

#include <cstdio>

#include <cstdlib>

 

using namespace std;

 

const int SZ = 1e6;

int dp[SZ];

 

int32_t main()

{

    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n;

    string s;

    cin >> n >> s;

    fill(dp, dp + SZ, 0);

    dp[0] = 0;

    for (int i = 0; i < n; i++)

    {

        dp[i + 1] = max(dp[i + 1], dp[i]);

        if (s[i] == '1' || i == 0 || i == n - 1) continue;

        if (s[i-1] != '1' || s[i + 1] != '1') continue;

        int i1 = i - 1, i2 = i + 1;

        while (s[i1] == '1' && i1 >= 0)

            i1--;

        while (s[i2] == '1' && i2 < n)

            i2++;

        for (int j = i1 + 1; j < i; j++)

            dp[i + 2] = max(dp[i + 2], i - j + dp[j]);

        for (int j = i2 - 1; j > i; j--)

            dp[j + 1] = max(dp[j + 1], j - i + dp[i - 1]);

    }

    cout << dp[n] << endl;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;



#define FOR(i,a,b) for(int i=(a);i<(b);++i)

#define REP(i,n)  FOR(i,0,n)



int main() {

  

  int X,Y; cin >> X >> Y;



  REP(i,1000)REP(j,1000){

    if(i+j == X){

      if(2*i + 4*j == Y){

        cout << "Yes" << endl;

        return 0;

      }

    }

  }

 cout << "No" << endl;



  return 0;

}


// Faster C++ solution for the same problem (measured speedup: 1.7907694717829734x):
#include <bits/stdc++.h>

using namespace std;



int main(){

  int X,Y; cin >> X >> Y;

  

  if(2*X<=Y && Y<=4*X && Y%2==0){

    cout << "Yes" << endl;

  }else{

    cout << "No" << endl;

  }

  

  return 0;

}
// Slower C++ solution:
#include<iostream>



int main() {

    int X, Y;

    scanf("%d%d", &X, &Y);

    puts(Y >= X * 2 && Y <= X * 4 && Y % 2 == 0 ? "Yes" : "No");

}

// Faster C++ solution for the same problem (measured speedup: 5.2531959061141995x):
#include<cstdio>



int main() {

    int X, Y;

    scanf("%d%d", &X, &Y);

    puts(Y >= X * 2 && Y <= X * 4 && Y % 2 == 0 ? "Yes" : "No");

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long a,b;

long long fans;

int main()

{

    cin>>a>>b;

    if((a<0&&b>0)||a==0||b==0)

    {

        cout<<"Zero"<<endl;

        return 0;

    }

    for(int i=a;i<=b;i++)

    {

        if(i<0)

         fans++;

    }

    if(fans%2==1)

      cout<<"Negative"<<endl;

    else

      cout<<"Positive"<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.284349723087858x):
#include<cstdio>

using namespace std;

int a,b;

int main(){

    scanf("%d%d",&a,&b);

    if(a>0)puts("Positive");               

    else if(b>=0)puts("Zero");             

    else if((a&1)^(b&1))puts("Positive");  

    else puts("Negative");

    return 0;

}
// Slower C++ solution:
#include <iostream>

using namespace std;

int main()

{

	long long a,b;cin>>a>>b;

	if(a>0&&b>0) cout<<"Positive";

	if((a<0&&b>0)||a==0||b==0) cout<<"Zero";

	if(a<0&&b<0) 

	{

		if((b-a+1)%2==0) cout<<"Positive";

		else cout<<"Negative";

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.314549497018845x):
#include<cstdio>

using namespace std;

int a,b;

int main(){

    scanf("%d%d",&a,&b);

    if(a>0)puts("Positive");               

    else if(b>=0)puts("Zero");             

    else if((a&1)^(b&1))puts("Positive");  

    else puts("Negative");

    return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

	long long a,b,s=0;

	cin>>a>>b;

	if(a>0 && b>0)

	{

		printf("Positive\n");

	}

	if(a<0 && b<0)

	{

		for(int i=a;i<=b;i++)

		{

			s++;

		}

		if(s%2==1)

		{

			printf("Negative\n");

		}

		if(s%2==0)

		{

			printf("Positive\n");

		}

	}

	if(a==0 || b==0 || (a<0 && b>0))		

	printf("Zero\n");

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.301938011697652x):
#include<cstdio>

using namespace std;

int a,b;

int main(){

    scanf("%d%d",&a,&b);

    if(a>0)puts("Positive");               

    else if(b>=0)puts("Zero");             

    else if((a&1)^(b&1))puts("Positive");  

    else puts("Negative");

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long a,b;

long long fans;

int main()

{

    cin>>a>>b;

    if((a<0&&b>0)||a==0||b==0)

    {

        cout<<"Zero"<<endl;

        return 0;

    }

    for(int i=a;i<=b;i++)

    {

        if(i<0)

         fans++;

    }

    if(fans%2==1)

      cout<<"Negative"<<endl;

    else

      cout<<"Positive"<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.267353111027761x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include <iostream>

using namespace std;

int main()

{

	long long a,b;cin>>a>>b;

	if(a>0&&b>0) cout<<"Positive";

	if((a<0&&b>0)||a==0||b==0) cout<<"Zero";

	if(a<0&&b<0) 

	{

		if((b-a+1)%2==0) cout<<"Positive";

		else cout<<"Negative";

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.2974557502366535x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

	long long a,b,s=0;

	cin>>a>>b;

	if(a>0 && b>0)

	{

		printf("Positive\n");

	}

	if(a<0 && b<0)

	{

		for(int i=a;i<=b;i++)

		{

			s++;

		}

		if(s%2==1)

		{

			printf("Negative\n");

		}

		if(s%2==0)

		{

			printf("Positive\n");

		}

	}

	if(a==0 || b==0 || (a<0 && b>0))		

	printf("Zero\n");

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.284884828567516x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

using namespace std;

int a,b;

int main(){

    cin>>a>>b;

    if(a>0)puts("Positive");

    else if(b>=0)puts("Zero");

    else if((a&1)^(b&1))puts("Positive");

    else puts("Negative");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.283524442301166x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include<iostream>

using namespace std;

int main(){

	int a,b;

	cin>>a>>b;

	if((a<=0&&b>=0)||(a>=0&&b<=0)){

		cout<<"Zero";

	}

	if(a>0&&b>0){

		cout<<"Positive";

	}

	if(a<0&&b<0){

		if((b-a)%2==1)cout<<"Positive";

		else cout<<"Negative";

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.29672792870028x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long int a,b,s;

int main()

{

    cin>>a>>b;

    if(a==0||b==0)

    {

    	cout<<"Zero"<<endl;

    	return 0;

	}

	if(a<0&&b<0)

	{

		s=b-a;

		if(s%2==0)

		{

			cout<<"Negative"<<endl;

		    return 0;

		}

		else

		{

			cout<<"Positive"<<endl;

    	    return 0;

		}

	}

	if(a<0&&b>0)

	{

		cout<<"Zero"<<endl;

    	return 0;

	} 

	if(a<0)

	{

		a=a*-1;

		if(a%2==0)

		{

			cout<<"Positive"<<endl;

    	    return 0;

		}

		else

		{

			cout<<"Negative"<<endl;

		    return 0;

		}

	}

	else

	{

		cout<<"Positive"<<endl;

		return 0;

	}

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.311766597010127x):
#include<cstdio>

using namespace std;

int abs(int a)

{

	return a<0?-a:a;

}

int main()

{

	int a,b;

	scanf("%d%d",&a,&b);

	if(a>0&&b>0)printf("Positive");

	else if(a<0&&b>0)printf("Zero");

	else if(a==0||b==0)printf("Zero");

	else if(a<0&&b<0)

	{

		if((abs(a-b)+1)%2!=0)printf("Negative");

		else printf("Positive");

	}

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long a,b;

long long fans;

int main()

{

    cin>>a>>b;

    if((a<0&&b>0)||a==0||b==0)

    {

        cout<<"Zero"<<endl;

        return 0;

    }

    for(int i=a;i<=b;i++)

    {

        if(i<0)

         fans++;

    }

    if(fans%2==1)

      cout<<"Negative"<<endl;

    else

      cout<<"Positive"<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.346580814368073x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include <iostream>

using namespace std;

int main()

{

	long long a,b;cin>>a>>b;

	if(a>0&&b>0) cout<<"Positive";

	if((a<0&&b>0)||a==0||b==0) cout<<"Zero";

	if(a<0&&b<0) 

	{

		if((b-a+1)%2==0) cout<<"Positive";

		else cout<<"Negative";

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.377136235632531x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

	long long a,b,s=0;

	cin>>a>>b;

	if(a>0 && b>0)

	{

		printf("Positive\n");

	}

	if(a<0 && b<0)

	{

		for(int i=a;i<=b;i++)

		{

			s++;

		}

		if(s%2==1)

		{

			printf("Negative\n");

		}

		if(s%2==0)

		{

			printf("Positive\n");

		}

	}

	if(a==0 || b==0 || (a<0 && b>0))		

	printf("Zero\n");

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.3643762312815x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<iostream>

#include<cstdio>

using namespace std;

int a,b;

int main(){

    cin>>a>>b;

    if(a>0)puts("Positive");

    else if(b>=0)puts("Zero");

    else if((a&1)^(b&1))puts("Positive");

    else puts("Negative");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.36299538307207x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<iostream>

using namespace std;

int main(){

	int a,b;

	cin>>a>>b;

	if((a<=0&&b>=0)||(a>=0&&b<=0)){

		cout<<"Zero";

	}

	if(a>0&&b>0){

		cout<<"Positive";

	}

	if(a<0&&b<0){

		if((b-a)%2==1)cout<<"Positive";

		else cout<<"Negative";

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.376397466732738x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long int a,b,s;

int main()

{

    cin>>a>>b;

    if(a==0||b==0)

    {

    	cout<<"Zero"<<endl;

    	return 0;

	}

	if(a<0&&b<0)

	{

		s=b-a;

		if(s%2==0)

		{

			cout<<"Negative"<<endl;

		    return 0;

		}

		else

		{

			cout<<"Positive"<<endl;

    	    return 0;

		}

	}

	if(a<0&&b>0)

	{

		cout<<"Zero"<<endl;

    	return 0;

	} 

	if(a<0)

	{

		a=a*-1;

		if(a%2==0)

		{

			cout<<"Positive"<<endl;

    	    return 0;

		}

		else

		{

			cout<<"Negative"<<endl;

		    return 0;

		}

	}

	else

	{

		cout<<"Positive"<<endl;

		return 0;

	}

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.391662335778774x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int a,b;

int c=0,d=0;

int main() {

	cin>>a>>b;



	for(int i=a; i<=b; i++) {

		if(i==0) {

			cout<<"Zero"<<endl;

			return 0;

		}

		if(i<0) {

			c++;

		}

		if(i>0) {

			d++;

		}

	}

	if(c%2==0) {

		cout<<"Positive"<<endl;

		return 0;

	} else {

		cout<<"Negative"<<endl;

		return 0;

	}

	if(c==0) {

		cout<<"Positive"<<endl;

		return 0;

	}

}

// Faster C++ solution for the same problem (measured speedup: 5.351002852342909x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

string x="Positive\n",y="Negative\n",z="Zero\n";

inline int read(){

    int X=0,w=0; char ch=0;

    while(!isdigit(ch)) {w|=ch=='-';ch=getchar();}

    while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();

    return w?-X:X;

}

inline void write(int x){

     if(x<0) putchar('-'),x=-x;

     if(x>9) write(x/10);

     putchar(x%10+'0');

}

int main(){

	int a=read(),b=read();

	if(a<=0&&b>=0)

		cout<<z;

	else if(a>0&&b>0)

		cout<<x;

	else if(a<0&&b<0){

		int s=abs(a-b)+1;

		if(s%2)

		cout<<y;

		else cout<<x;

	}

	return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.356761926056636x):
#include <algorithm>

#include <cctype>

#include <cstring>

#include <cstdio>

using namespace std;

inline int read(int f = 1, int x = 0, char ch = ' ')

{

    while(!isdigit(ch = getchar())) if(ch == '-') f = -1;

    while(isdigit(ch)) x = x*10+ch-'0', ch = getchar();

    return f*x;

}

int a, b;

int main()

{

    a = read(), b = read(); if(a > b) swap(a, b);

    if(a <= 0&&b >= 0) puts("Zero");

    else if(a > 0) puts("Positive");

    else if((b-a+1)&1) puts("Negative");

    else puts("Positive");

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

long long a,b;

long long fans;

int main()

{

    cin>>a>>b;

    if((a<0&&b>0)||a==0||b==0)

    {

        cout<<"Zero"<<endl;

        return 0;

    }

    for(int i=a;i<=b;i++)

    {

        if(i<0)

         fans++;

    }

    if(fans%2==1)

      cout<<"Negative"<<endl;

    else

      cout<<"Positive"<<endl;

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.2686548499185655x):
#include<cstdio>

int l, r;

bool ans = true;

int main()

{

	scanf("%d%d",&l, &r);

	for(int i = l;i <= r;i++){

		if(i == 0){

			printf("Zero");

			return 0;

		}else if(i < 0){

			ans = !ans;

		}

	}

	if(ans > 0) printf("Positive");

	else printf("Negative");

	return 0;

}