#include<bits/stdc++.h>
using namespace std;

const int N=300010;
const int mod=998244353;

int a[N],b[N];
int T,l,r,p,q;
int Q,n;
long long int ans;

int ama(int p,int q)
{
	int ma;
	for(int i=p;i<q;i++)
		{
			ma=max(a[i],a[i+1]);
		}
	return ma;
}

int bma(int p,int q)
{
	int ma;
	for(int i=p;i<q;i++)
		{
			ma=max(b[i],b[i+1]);
		}
	return ma;
}

int main()
{
	freopen("match.in","r",stdin);
	freopen("match.out","w",stdout);
	scanf("%d%d",&T,&n);
	for(int i=1;i<=n;i++)
		scanf("%d",a+i);
	for(int i=1;i<=n;i++)
		scanf("%d",b+i);
	scanf("%d",&Q);
	while(Q--)
		{
			scanf("%d%d",&l,&r);
			for(int p=l;p<=r;p++)
				{
					for(int q=p;q<=r;q++)
						{
							ans+=ama(p,q)*bma(p,q);
							ans%=mod;
						}
				}
		}
	printf("%lld",ans);
	return 0;
}