#include<bits/stdc++.h>
#define N 10100
using namespace std;
int n,m,W;
int c[N],d[N];
int cnt=0,num[10100][10100];
int dp[N],ans;
int vv[N],ww[N];
int main(){
cin>>n>>m>>W;
for(int i=1;i<=n;i++){
cin>>c[i]>>d[i];
num[i][1]=i;
}
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
for(int j=1;j<=n;j++){
for(int k=1;k<=100;k++){
if(num[j][k]==0){
break;
} else if(num[j][k]==u){
num[j][k+1]=v;
num[v][1]=0;
break;
} else if(num[j][k]==v){
num[j][k+1]=u;
num[u][1]=0;
break;
}
}
}
}
for(int i=1;i<=n;i++){
if(num[i][1]>0) cnt++;
for(int j=1;j<=n;j++){
if(num[i][j]==0){
break;
} else {
vv[cnt]+=c[num[i][j]];
ww[cnt]+=d[num[i][j]];
}
}
}
for(int i=1;i<=cnt;i++){
for(int j=W;j>=vv[i];j--){
if(dp[j-vv[i]]+ww[i]>=dp[j]){
dp[j]=dp[j-vv[i]]+ww[i];
}
}
}
for(int i=1;i<=W;i++){
ans=max(dp[i],ans);
}
cout<<ans;
return 0;
}