rt.
#include<bits/stdc++.h>
using namespace std;
int m,n,k;
int x[502],y[502],r[502];
bool ds(int x1,int y1,int x2,int y2,int rp){
double sb=(double)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
if((double)rp>=sb) return 1;
else return 0;
}
int dp[502];
int main(){
scanf("%d%d%d",&m,&n,&k);
for(int i=1;i<=k;i++) scanf("%d%d%d",&x[i],&y[i],&r[i]);
x[0]=0,y[0]=0;
k++;
x[k]=m;
y[k]=n;
for(int i=0;i<=k;i++) dp[i]=1e9;
dp[0]=0;
for(int i=0;i<=k;i++){
int nx=x[i],ny=y[i]+r[i],cnt=0,l=1;
while(nx<=m){
for(int j=i+1;j<=k;j++){
if(ds(nx,ny,x[j],y[j],r[j])) dp[j]=min(dp[j],dp[i]+cnt+1);
}
nx++;
ny=max(ny-1,0);
cnt++;
}
}
if(dp[k]>=1e9) dp[k]=0;
cout<<dp[k]-1;
return 0;
}