#include <bits/stdc++.h>
using namespace std;
//variable
#define ld long double
#define ll long long
#define db double
#define ii pair<int,int>
#define f first
#define s second
#define mp make_pair
#define mt make_tuple
//vector
#define pb push_back
#define all(v) v.begin(),v.end()
#define len(a) (int)a.length()
#define sz(a) (int)a.size()
//mask
#define BIT(i) (1LL<<(i))
//better code, debugger
#define watch(n) cerr << #n << ": " << n << endl
#define debug(x) for (auto p: x) cerr<<p<<' ';cerr<<endl
#define forw(i,j,z) for(int i=(int)j;i<=(int)z;i++)
#define ford(i,j,z) for (int i=(int)j;i>=(int)z;i--)
#define fIlE "test."
//auto seed = chrono::high_resolution_clock::now().time_since_epoch().count();
//mt19937 RAND(seed);
const int mod = 1e9 + 7;
inline int add(int u,int v){u+=v;if(u>=mod)u-=mod;return u;}
inline int dec(int u,int v){u-=v;if(u<0)u+=mod;return u;}
inline int mul(int u,int v){return (ll)u*v%mod;}
#define tt pair<ll, int>
const ll inf = 1e16;
int n, m, k;
vector<ii> a[50000 + 100];
ll dist[50000 + 100][2];
int yummy[50000 + 100];
void solve()
{
cin >> n >> m >> k;
while(m--){
int u, v, d;
cin >> u >> v >> d;
a[u].pb(mp(v, d));
a[v].pb(mp(u, d));
}
while(k--){
int u;
cin >> u >> yummy[u];
}
priority_queue<tt, vector<tt>, greater<tt> > haha;
forw(i, 1, n)
dist[i][0] = dist[i][1] = inf;
haha.push(mp(dist[n][0] = 0, n));
while(!haha.empty())
{
int u; ll d;
u = haha.top().s, d = haha.top().f;
haha.pop();
if (dist[u][0] < d) continue;
for (auto [v, e] : a[u])
{
if (dist[v][0] > e + d)
{
dist[v][0]= e + d;
haha.push(mp(dist[v][0], v));
}
}
}
forw(i, 1, n) if (yummy[i])
haha.push(mp(dist[i][1] = -yummy[i] + dist[i][0], i));
while(!haha.empty())
{
int u; ll d;
u = haha.top().s, d = haha.top().f;
haha.pop();
if (dist[u][1] < d) continue;
for (auto [v, e] : a[u])
{
if (dist[v][1] > e + d)
{
dist[v][1] = e + d;
haha.push(mp(dist[v][1], v));
}
}
}
forw(i, 1, n - 1)
if (dist[i][1] <= dist[i][0])
cout << 1 << '\n';
else cout << "0\n";
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
freopen("dining.in", "r", stdin);
freopen("dining.out", "w", stdout);
//time_t TIME_TU=clock();
int t=1;
// cin>>t;
while(t--)
solve();
//time_t TIME_TV=clock();
//cerr<<(db)(TIME_TV-TIME_TU)/CLOCKS_PER_SEC<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vdmFyaWFibGUKI2RlZmluZSBsZCBsb25nIGRvdWJsZQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGRiIGRvdWJsZQojZGVmaW5lIGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgcyBzZWNvbmQKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBtdCBtYWtlX3R1cGxlCi8vdmVjdG9yCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSx2LmVuZCgpCiNkZWZpbmUgbGVuKGEpIChpbnQpYS5sZW5ndGgoKQojZGVmaW5lIHN6KGEpIChpbnQpYS5zaXplKCkKLy9tYXNrCiNkZWZpbmUgQklUKGkpICgxTEw8PChpKSkKLy9iZXR0ZXIgY29kZSwgZGVidWdnZXIKI2RlZmluZSB3YXRjaChuKSBjZXJyIDw8ICNuIDw8ICI6ICIgPDwgbiA8PCBlbmRsCiNkZWZpbmUgZGVidWcoeCkgZm9yIChhdXRvIHA6IHgpIGNlcnI8PHA8PCcgJztjZXJyPDxlbmRsCiNkZWZpbmUgZm9ydyhpLGoseikgZm9yKGludCBpPShpbnQpajtpPD0oaW50KXo7aSsrKQojZGVmaW5lIGZvcmQoaSxqLHopIGZvciAoaW50IGk9KGludClqO2k+PShpbnQpejtpLS0pCiNkZWZpbmUgZklsRSAidGVzdC4iCi8vYXV0byBzZWVkID0gY2hyb25vOjpoaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpOwovL210MTk5MzcgUkFORChzZWVkKTsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CmlubGluZSBpbnQgYWRkKGludCB1LGludCB2KXt1Kz12O2lmKHU+PW1vZCl1LT1tb2Q7cmV0dXJuIHU7fQppbmxpbmUgaW50IGRlYyhpbnQgdSxpbnQgdil7dS09djtpZih1PDApdSs9bW9kO3JldHVybiB1O30KaW5saW5lIGludCBtdWwoaW50IHUsaW50IHYpe3JldHVybiAobGwpdSp2JW1vZDt9CiNkZWZpbmUgdHQgcGFpcjxsbCwgaW50Pgpjb25zdCBsbCBpbmYgPSAxZTE2OwppbnQgbiwgbSwgazsKdmVjdG9yPGlpPiBhWzUwMDAwICsgMTAwXTsKbGwgZGlzdFs1MDAwMCArIDEwMF1bMl07CmludCB5dW1teVs1MDAwMCArIDEwMF07CnZvaWQgc29sdmUoKQp7CiAgICBjaW4gPj4gbiA+PiBtID4+IGs7CiAgICB3aGlsZShtLS0pewogICAgICAgIGludCB1LCB2LCBkOwogICAgICAgIGNpbiA+PiB1ID4+IHYgPj4gZDsKICAgICAgICBhW3VdLnBiKG1wKHYsIGQpKTsKICAgICAgICBhW3ZdLnBiKG1wKHUsIGQpKTsKICAgIH0KICAgIHdoaWxlKGstLSl7CiAgICAgICAgaW50IHU7CiAgICAgICAgY2luID4+IHUgPj4geXVtbXlbdV07CiAgICB9CiAgICBwcmlvcml0eV9xdWV1ZTx0dCwgdmVjdG9yPHR0PiwgZ3JlYXRlcjx0dD4gPiBoYWhhOwogICAgZm9ydyhpLCAxLCBuKQogICAgICAgIGRpc3RbaV1bMF0gPSBkaXN0W2ldWzFdID0gaW5mOwogICAgaGFoYS5wdXNoKG1wKGRpc3Rbbl1bMF0gPSAwLCBuKSk7CiAgICB3aGlsZSghaGFoYS5lbXB0eSgpKQogICAgewogICAgICAgIGludCB1OyBsbCBkOwogICAgICAgIHUgPSBoYWhhLnRvcCgpLnMsIGQgPSBoYWhhLnRvcCgpLmY7CiAgICAgICAgaGFoYS5wb3AoKTsKICAgICAgICBpZiAoZGlzdFt1XVswXSA8IGQpIGNvbnRpbnVlOwogICAgICAgIGZvciAoYXV0byBbdiwgZV0gOiBhW3VdKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGRpc3Rbdl1bMF0gPiBlICsgZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZGlzdFt2XVswXT0gZSArIGQ7CiAgICAgICAgICAgICAgICBoYWhhLnB1c2gobXAoZGlzdFt2XVswXSwgdikpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZm9ydyhpLCAxLCBuKSBpZiAoeXVtbXlbaV0pCiAgICAgICAgaGFoYS5wdXNoKG1wKGRpc3RbaV1bMV0gPSAteXVtbXlbaV0gKyBkaXN0W2ldWzBdLCBpKSk7CiAgICB3aGlsZSghaGFoYS5lbXB0eSgpKQogICAgewogICAgICAgIGludCB1OyBsbCBkOwogICAgICAgIHUgPSBoYWhhLnRvcCgpLnMsIGQgPSBoYWhhLnRvcCgpLmY7CiAgICAgICAgaGFoYS5wb3AoKTsKICAgICAgICBpZiAoZGlzdFt1XVsxXSA8IGQpIGNvbnRpbnVlOwogICAgICAgIGZvciAoYXV0byBbdiwgZV0gOiBhW3VdKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGRpc3Rbdl1bMV0gPiBlICsgZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZGlzdFt2XVsxXSA9IGUgKyBkOwogICAgICAgICAgICAgICAgaGFoYS5wdXNoKG1wKGRpc3Rbdl1bMV0sIHYpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGZvcncoaSwgMSwgbiAtIDEpCiAgICAgICAgaWYgKGRpc3RbaV1bMV0gPD0gZGlzdFtpXVswXSkKICAgICAgICAgICAgY291dCA8PCAxIDw8ICdcbic7CiAgICAgICAgZWxzZSBjb3V0IDw8ICIwXG4iOwp9CnNpZ25lZCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKDApOwogICAgZnJlb3BlbigiZGluaW5nLmluIiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJkaW5pbmcub3V0IiwgInciLCBzdGRvdXQpOwogICAgLy90aW1lX3QgVElNRV9UVT1jbG9jaygpOwogICAgaW50IHQ9MTsKLy8gICAgY2luPj50OwogICAgd2hpbGUodC0tKQogICAgICAgIHNvbHZlKCk7CiAgICAvL3RpbWVfdCBUSU1FX1RWPWNsb2NrKCk7CiAgICAvL2NlcnI8PChkYikoVElNRV9UVi1USU1FX1RVKS9DTE9DS1NfUEVSX1NFQzw8ZW5kbDsKICAgIHJldHVybiAwOwp9Cg==