#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <string.h>
#include <limits.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define vi vector<int>
#define pb push_back
#define ll long long int
#define gi(x) scanf("%d",&x)
#define ii pair<int,int>
#define CLEAR(x,val) memset(x,val,sizeof(x))
#define SZ(v) (v).size()
#define MOD 1000000000
int main()
{
int n,m,o;
cin>>n>>m>>o;
ll adj[n+1][n+1];
for(int i=0; i<=n ; i++)
{
for(int j=0 ; j<=n ; j++)
{
adj[i][j] = 1000000000000001;
}
}
rep(i,0,m)
{
int x,y,v;
cin>>x>>y>>v;
adj[x][y]=v;
adj[y][x]=v;
}
rep(k,1,n+1)
rep(j,1,n+1)
adj[1][j] = min(adj[1][j], adj[1][k] + adj[k][j]);
int c=0;
rep(i,0,o)
{
int s,x;
cin>>s>>x;
if(adj[1][s]<=x)
{
c++;
}
else
{
adj[1][s]=x;
}
}
cout<<c<<endl;
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPGRlcXVlPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxiaXRzZXQ+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxmdW5jdGlvbmFsPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGxpbWl0cy5oPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgcmVwKGksYSxiKSBmb3IoaW50IGk9KGEpO2k8KGIpO2krKykKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBnaSh4KSBzY2FuZigiJWQiLCZ4KQojZGVmaW5lIGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBDTEVBUih4LHZhbCkgbWVtc2V0KHgsdmFsLHNpemVvZih4KSkKI2RlZmluZSBTWih2KSAodikuc2l6ZSgpCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDAKCgppbnQgbWFpbigpCnsKCWludCBuLG0sbzsKCWNpbj4+bj4+bT4+bzsKCQoJbGwgYWRqW24rMV1bbisxXTsKCQoJZm9yKGludCBpPTA7IGk8PW4gOyBpKyspCgl7CgkJZm9yKGludCBqPTAgOyBqPD1uIDsgaisrKQoJCXsKCQkJYWRqW2ldW2pdID0gMTAwMDAwMDAwMDAwMDAwMTsKCQl9Cgl9CgkKCXJlcChpLDAsbSkKCXsKCQlpbnQgeCx5LHY7CgkJY2luPj54Pj55Pj52OwoJCWFkalt4XVt5XT12OwoJCWFkalt5XVt4XT12OwoJfQoJCglyZXAoaywxLG4rMSkKICAJCXJlcChqLDEsbisxKQogICAJCQlhZGpbMV1bal0gPSBtaW4oYWRqWzFdW2pdLCBhZGpbMV1ba10gKyBhZGpba11bal0pOwogICAJCiAgIAlpbnQgYz0wOwogIAlyZXAoaSwwLG8pCiAgCXsKICAJCWludCBzLHg7CiAgCQljaW4+PnM+Png7CiAgCQlpZihhZGpbMV1bc108PXgpCiAgCQl7CiAgCQkJYysrOwogIAkJfQogIAkJZWxzZQogIAkJewogIAkJCWFkalsxXVtzXT14OwogIAkJfQkKICAJfQogIAkKICAJY291dDw8Yzw8ZW5kbDsKCXJldHVybiAwOwp9Cgo=