#include <fstream>
#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
istream& in = cin;
int cars, overtakings;
in >> cars >> overtakings;
vector<int> positions( cars );
for( int i=0; i < cars; i++ )
{
int carID;
in >> carID;
positions[carID-1] = i;
}
for( int i=0; i < overtakings; i++ )
{
int firstCar, secondCar;
in >> firstCar >> secondCar;
swap( positions[firstCar-1], positions[secondCar-1] );
}
vector<int>::iterator found = find(positions.begin(), positions.end(), 0);
int result = distance(positions.begin(), found) + 1;
ostream& out = cout;
out << result;
return 0;
}
I2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxpdGVyYXRvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpc3RyZWFtJiBpbiA9IGNpbjsKICAgIGludCBjYXJzLCBvdmVydGFraW5nczsKCiAgICBpbiA+PiBjYXJzID4+IG92ZXJ0YWtpbmdzOwogICAgdmVjdG9yPGludD4gcG9zaXRpb25zKCBjYXJzICk7CgogICAgZm9yKCBpbnQgaT0wOyBpIDwgY2FyczsgaSsrICkKICAgIHsKICAgICAgICBpbnQgY2FySUQ7CiAgICAgICAgaW4gPj4gY2FySUQ7CgogICAgICAgIHBvc2l0aW9uc1tjYXJJRC0xXSA9IGk7CiAgICB9CgogICAgZm9yKCBpbnQgaT0wOyBpIDwgb3ZlcnRha2luZ3M7IGkrKyApCiAgICB7CiAgICAgICAgaW50IGZpcnN0Q2FyLCBzZWNvbmRDYXI7CiAgICAgICAgaW4gPj4gZmlyc3RDYXIgPj4gc2Vjb25kQ2FyOwoKICAgICAgICBzd2FwKCBwb3NpdGlvbnNbZmlyc3RDYXItMV0sIHBvc2l0aW9uc1tzZWNvbmRDYXItMV0gKTsKICAgIH0KCiAgICB2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgZm91bmQgPSBmaW5kKHBvc2l0aW9ucy5iZWdpbigpLCBwb3NpdGlvbnMuZW5kKCksIDApOwogICAgaW50IHJlc3VsdCA9IGRpc3RhbmNlKHBvc2l0aW9ucy5iZWdpbigpLCBmb3VuZCkgKyAxOwoKICAgIG9zdHJlYW0mIG91dCA9IGNvdXQ7CiAgICBvdXQgPDwgcmVzdWx0OwoKICAgIHJldHVybiAwOwp9Cg==