#include<stdio.h>
void quicksort(int*,char *,int,int);
int partition(int *,char *,int,int);
int f=0;
int main(){
	int i,n;
	char g;
	scanf("%d",&n);
	int N[n];
	char T[n];
	for(i=0;i<n;i++){
		scanf("%c%c %d",&g,&T[i],&N[i]);
	}
	quicksort(N,T,0,n-1);
	if(N[0]<N[n-1]) printf("Not stable\n");
	else printf("Stable\n");
	for(i=0;i<n;i++){
		printf("%c %d\n",T[i],N[i]);
	}
	return 0;
}

void quicksort(int *a,char *t,int p,int r){
	int q;
	int i;
	if(p<r){
	q = partition(a,t,p, r);
   	quicksort(a,t,p,q-1);
   	quicksort(a,t,q+1,r);
   		}
}
int partition(int *a,char *t,int p,int r){
	int x,i,j,k;
	char v;
	x=a[r];
	i=p-1;
	for(j=p;j<r;j++){
		if(a[j]<=x){
			i=i+1;
			k=a[i];
			a[i]=a[j];
			a[j]=k;
			v=t[i];
			t[i]=t[j];
			t[j]=v;

		}
	}
	v=t[r];
	t[r]=t[i+1];
	t[i+1]=v;

	a[r]=a[i+1];
	a[i+1]=x;
	return i+1;
}
