output_description: Print the AtCoDeer's maximum possible score.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      s
attempt: #include<bits/stdc++.h>
  using namespace std;
  typedef long long ll;
  typedef pair<int, int> P;
  const long double PI = (acos(-1));
  #define rep(i, x, n) for (int i = x; i < (int)(n); i++)
  #define sc(x) scanf("%d",&x)
  #define scll(x) scanf("%lld",&x)
  int main(){
      string s; cin >> s;
      int n = s.size(), p = 0, g = 0, ans = 0;
      rep(i, 0, n){
          if (s[i]=='p'){
              if (p < g) p++;
              else ans--, g++;
          }else {
              if (p < g) ans++, p++;
              else g++;
          }
      }
      cout << ans << endl;
      return 0;
  }
problem_description: Statement
  
  AtCoDeer the deer and his friend TopCoDeer is playing a game. The game
  consists of N turns. In each turn, each player plays one of the two _gestures_
  , _Rock_ and _Paper_ , as in Rock-paper-scissors, under the following
  condition:
  
  (※) After each turn, (the number of times the player has played Paper)≦(the
  number of times the player has played Rock).
  
  Each player's score is calculated by (the number of turns where the player
  wins) - (the number of turns where the player loses), where the outcome of
  each turn is determined by the rules of Rock-paper-scissors.
  
  _(For those who are not familiar with Rock-paper-scissors: If one player plays
  Rock and the other plays Paper, the latter player will win and the former
  player will lose. If both players play the same gesture, the round is a tie
  and neither player will win nor lose.)_
  
  With his supernatural power, AtCoDeer was able to foresee the gesture that
  TopCoDeer will play in each of the N turns, before the game starts. Plan
  AtCoDeer's gesture in each turn to maximize AtCoDeer's score.
  
  The gesture that TopCoDeer will play in each turn is given by a string s. If
  the i-th (1≦i≦N) character in s is `g`, TopCoDeer will play Rock in the i-th
  turn. Similarly, if the i-th (1≦i≦N) character of s in `p`, TopCoDeer will
  play Paper in the i-th turn.
samples: [{"input": "gpg", "output": "0\n    \n\nPlaying the same gesture as the opponent in each turn results in the score of\n0, which is the maximum possible score.\n\n* * *"}, {"input": "ggppgggpgg", "output": "2\n    \n\nFor example, consider playing gestures in the following order: Rock, Paper,\nRock, Paper, Rock, Rock, Paper, Paper, Rock, Paper. This strategy earns three\nvictories and suffers one defeat, resulting in the score of 2, which is the\nmaximum possible score."}]