#include <iostream>
#include <map>
using namespace std;
 
 
void sendIntOnWire(string fld, int val) {
	cout << "Send "<<fld<<" with value "<<val<<" on the net"<<endl; 
}
 
// General idea:  access fields via maps
 
class GameCharacter {
    map<string, int> myints; 
    // same for doubles, floats, strings
public: 
    GameCharacter() {
    	myints["HP"]=100; 
    	myints["FP"]=50;  
    }
    int getInt(string fld) { return myints[fld]; }; 
    void setInt(string fld, int val) { myints[fld]=val; sendIntOnWire(fld,val); }
};
 
int main() {
	GameCharacter c; 
	c.setInt("HP", c.getInt("HP") - 10); 
	c.setInt("FP", c.getInt("FP") + 100); 
 
	return 0;
}
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnZvaWQgc2VuZEludE9uV2lyZShzdHJpbmcgZmxkLCBpbnQgdmFsKSB7Cgljb3V0IDw8ICJTZW5kICI8PGZsZDw8IiB3aXRoIHZhbHVlICI8PHZhbDw8IiBvbiB0aGUgbmV0Ijw8ZW5kbDsgCn0KCi8vIEdlbmVyYWwgaWRlYTogIGFjY2VzcyBmaWVsZHMgdmlhIG1hcHMKCmNsYXNzIEdhbWVDaGFyYWN0ZXIgewogICAgbWFwPHN0cmluZywgaW50PiBteWludHM7IAogICAgLy8gc2FtZSBmb3IgZG91YmxlcywgZmxvYXRzLCBzdHJpbmdzCnB1YmxpYzogCiAgICBHYW1lQ2hhcmFjdGVyKCkgewogICAgCW15aW50c1siSFAiXT0xMDA7IAogICAgCW15aW50c1siRlAiXT01MDsgIAogICAgfQogICAgaW50IGdldEludChzdHJpbmcgZmxkKSB7IHJldHVybiBteWludHNbZmxkXTsgfTsgCiAgICB2b2lkIHNldEludChzdHJpbmcgZmxkLCBpbnQgdmFsKSB7IG15aW50c1tmbGRdPXZhbDsgc2VuZEludE9uV2lyZShmbGQsdmFsKTsgfQp9OwoKaW50IG1haW4oKSB7CglHYW1lQ2hhcmFjdGVyIGM7IAoJYy5zZXRJbnQoIkhQIiwgYy5nZXRJbnQoIkhQIikgLSAxMCk7IAoJYy5zZXRJbnQoIkZQIiwgYy5nZXRJbnQoIkZQIikgKyAxMDApOyAKCQoJcmV0dXJuIDA7Cn0=