#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
typedef long long int ll;
struct numinfo
{
    ll num;
    ll pre;
};
ll gcd(ll a,ll b){
      if(b==0)return a;
      return gcd(b,a%b);
}
map< pair<ll,ll>, ll > mp;

ll cx,n,k1,k2,x,y,num2,num1,test,test2,top1,top2,dig2,dig1;

int main(int argc, char const *argv[])
{
        cin.sync_with_stdio(0);

        cin>>n;
        cin>>k1;
        num1=0;
        cx=0;
        test=test2=0;
        for (int i = 0; i <k1; ++i)
        {
            cin>>x;
            if(x==10)
            {
                test=1;
            }
            num1=num1*10+x%10;
        }
        cin>>k2;
        num2=0;
        for (int i = 0; i < k2; ++i)
        {
            cin>>x;
            if(x==10)
            {
                test2=1;
            }
            num2=num2*10+x%10;
        }
        while(1)
        {

          // cout<<num1<<" "<<num2<<endl;
            x=num1;
            y=num2;
            dig1=dig2=0;
            if(mp[make_pair(num1,num2)]==1)
            {
                cout<<"-1"<<endl;
                return 0;
            }
            mp[make_pair(num1,num2)]=1;
            while(x>0)
            {
                top1=x;
                x=x/10;
                dig1++;
            }
            while(y>0)
            {
                top2=y;
                y=y/10;
                dig2++;
            }
            if (dig1+dig2==n && (num1==0 || num2==0 ) )
            {
                break;
            }
            if (dig1+dig2!=n && ( num1==0 || num2==0 ) )
            {
                if (test==1 && num2==0)
                {
                    break;
                }
                if (test2==1 && num1==0)
                {
                    break;
                }

            }

            if(dig1+dig2!=n)
            {
                if(test==1)
                {
                    ll mo;
                    num1=(((num1)*10+top2)*10);
                    mo=pow(10,dig2-1);
                    num2=num2%mo;
                }
                if(test2==1)
                {
                    ll mo;
                    num2=(((num2)*10+top1)*10);
                    mo=pow(10,dig1-1);
                    num1=num1%mo;
                }
            }
            else
            {
                if(top1>top2)
                {
                    ll mo=pow(10,dig1-1);
                    num1=(((num1%mo)*10+top2)*10+top1);
                    mo=pow(10,dig2-1);
                    num2=num2%mo;
                }
                else
                {
                    ll mo=pow(10,dig2-1);
                    num2=(((num2%mo)*10+top1)*10+top2);
                    mo=pow(10,dig1-1);
                    num1=num1%mo;
                }
            }

            cx++;
        }
        cout<<cx<<" ";
        if(num2==0)
        {
            cout<<"1"<<endl;
            return 0;
        }
        if (num1==0)
        {
            cout<<"2"<<endl;
        }
        
        return 0;
}
  