#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define all(x) (x).begin(),(x).end()
const int mod=1000000007,MAX=5005,INF=1<<30;

int main(){
    
    std::ifstream in("text.txt");
    std::cin.rdbuf(in.rdbuf());
    cin.tie(0);
    ios::sync_with_stdio(false);
    
    while(1){
        int N;cin>>N;
        if(N==0) break;
        
        int M;cin>>M;
        vector<int> X(M),Y(M);
        for(int i=0;i<M;i++){
            cin>>X[i]>>Y[i];
        }
        
        for(int i=1;i<M;i++){
            X[i]-=X[0];
            Y[i]-=Y[0];
        }
        X[0]=0;
        Y[0]=0;
        
        if(X[1]<=-1){
            for(int i=1;i<M;i++){
                X[i]*=-1;
                Y[i]*=-1;
            }
        }else if(Y[1]>=1){
            for(int i=1;i<M;i++){
                swap(X[i],Y[i]);
                Y[i]*=-1;
            }
        }else if(Y[1]<=-1){
            for(int i=1;i<M;i++){
                swap(X[i],Y[i]);
                X[i]*=-1;
            }
        }
        int cnt=0;
        
        while(N--){
            cnt++;
            int M;cin>>M;
            vector<int> X1(M),Y1(M);
            for(int i=0;i<M;i++){
                cin>>X1[i]>>Y1[i];
            }
            if(X.size()!=M) continue;
            
            for(int i=1;i<M;i++){
                X1[i]-=X1[0];
                Y1[i]-=Y1[0];
            }
            X1[0]=0;
            Y1[0]=0;
            
            if(X1[1]<=-1){
                for(int i=1;i<M;i++){
                    X1[i]*=-1;
                    Y1[i]*=-1;
                }
            }else if(Y1[1]>=1){
                for(int i=1;i<M;i++){
                    swap(X1[i],Y1[i]);
                    Y1[i]*=-1;
                }
            }else if(Y1[1]<=-1){
                for(int i=1;i<M;i++){
                    swap(X1[i],Y1[i]);
                    X1[i]*=-1;
                }
            }
            
            bool ok=true;
            
            for(int i=0;i<M;i++){
                if(X[i]!=X1[i]) ok=false;
                if(Y[i]!=Y1[i]) ok=false;
            }
            
            if(ok){
                cout<<cnt<<endl;
                continue;
            }
            
            reverse(all(X1));
            reverse(all(Y1));
            
            for(int i=1;i<M;i++){
                X1[i]-=X1[0];
                Y1[i]-=Y1[0];
            }
            X1[0]=0;
            Y1[0]=0;
            
            if(X1[1]<=-1){
                for(int i=1;i<M;i++){
                    X1[i]*=-1;
                    Y1[i]*=-1;
                }
            }else if(Y1[1]>=1){
                for(int i=1;i<M;i++){
                    swap(X1[i],Y1[i]);
                    Y1[i]*=-1;
                }
            }else if(Y1[1]<=-1){
                for(int i=1;i<M;i++){
                    swap(X1[i],Y1[i]);
                    X1[i]*=-1;
                }
            }
            
            ok=true;
            
            for(int i=0;i<M;i++){
                if(X[i]!=X1[i]) ok=false;
                if(Y[i]!=Y1[i]) ok=false;
            }
            
            if(ok){
                cout<<cnt<<endl;
                continue;
            }
            
        }
        cout<<"+++++"<<endl;
    }
}




Measured memory_bytes: 3048