#include<bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
ios::sync_with_stdio(0);
cin.tie(0);
int m,n,t;
while(cin>>m>>n>>t){
int x,y,k;
double ans=0;
while(t--){
cin>>x>>y>>k;
if(m>1&&n>1){
if((x==1&&y==1)||(x==1&&y==n)||(x==m&&y==1)||(x==m&&y==n))
ans+=k*2;//角落的那一個下沉,但周圍的三個上升
else if(x==1||x==m||y==1||y==n)
ans+=k*4;//邊上的那一個下沉,但周圍的五個上升
else
ans+=k*7;//中間的那一個下沉,但周圍的八個上升
}
else{
if(m==1)
if(y!=1&&y!=n)
ans+=k;//相鄰只有兩個,中間的那一個下沉
else if(n==1)
if(x!=1&&x!=m)
ans+=k;//相鄰只有兩個,中間的那一個下沉
else
ans-=k;//只有1*1的方格,周圍無其他
}
}
cout<<fixed<<setprecision(2);
cout<<ans/(m*n)<<endl;
}
return 0;
}