#include <iostream>
#include <climits>

using namespace std;

int v[1002],a[1002][1002],fr[1002];

int main ()
{
    int n,m,d,x,y;
    cin>>d>>n>>m;
    for (int i=1; i<=n; i++)
    {
        cin>>v[i];
    }
    int contor=1;
    for (int i=1; i<=m; i++)
    {
        cin>>x>>y;
        for (int j=x; j<=y; j++)
        {
            a[i][j]=contor;
        }
        contor++;
    }
    for (int k=1; k<=n; k++)
    {
        for (int i=1; i<=m; i++)
        {
            fr[a[i][v[k]]]++;
        }
    }
    bool ok=false; int aux=0;
    while (ok==false)
    {
        int max=INT_MIN;
        for (int i=1; i<=d; i++)
        {
            if (fr[i]>max) {max=fr[i]; contor=1;}
            else if (fr[i]==max) contor++;
        }
        while (contor>0 && n>0)
        {
               n-=max;
               aux++;
        }
        if (n<=0) ok=true;
    }
    cout<<aux;
    return 0;
}