import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time



sys.setrecursionlimit(10**7)

inf=10**20

mod=10**9+7



def LI(): return list(map(int,input().split()))

def I(): return int(eval(input()))

def LS(): return input().split()

def S(): return eval(input())



def main():

  s=S()



  gc=0

  pc=0

  p=0



  for x in s:

    if gc<pc+1:

      gc+=1



      if x=='p':

        p-=1

      

    else:

      pc+=1

      if x=='g':

        p+=1



  return p



print((main()))

import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time



sys.setrecursionlimit(10**7)

inf=10**20

mod=10**9+7



def LI(): return list(map(int,input().split()))

def I(): return int(eval(input()))

def LS(): return input().split()

def S(): return eval(input())



# 方針

# なるべくパーを出した方がいい

# len(s)の半分をパーにすれば条件は満たされる

# あとはポイントを計算する

# （自分のパーの数） - （相手のパーの数）



def main():

  s=S()



  g=s.count('g')

  p=len(s)-g



  myp=len(s)//2

  myg=len(s)-myp



  return myp-p



print((main()))

import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time

sys.setrecursionlimit(10**7)
inf = 10**20
mod = 10**9 + 7


def LI():
    return list(map(int, input().split()))


def I():
    return int(eval(input()))


def LS():
    return input().split()


def S():
    return eval(input())


def main():
    s = S()
    gc = 0
    pc = 0
    p = 0
    for x in s:
        if gc < pc + 1:
            gc += 1
            if x == "p":
                p -= 1
        else:
            pc += 1
            if x == "g":
                p += 1
    return p


print((main()))

import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, random, time

sys.setrecursionlimit(10**7)
inf = 10**20
mod = 10**9 + 7


def LI():
    return list(map(int, input().split()))


def I():
    return int(eval(input()))


def LS():
    return input().split()


def S():
    return eval(input())


# 方針
# なるべくパーを出した方がいい
# len(s)の半分をパーにすれば条件は満たされる
# あとはポイントを計算する
# （自分のパーの数） - （相手のパーの数）
def main():
    s = S()
    g = s.count("g")
    p = len(s) - g
    myp = len(s) // 2
    myg = len(s) - myp
    return myp - p


print((main()))

+# 方針 +# なるべくパーを出した方がいい +# len(s)の半分をパーにすれば条件は満たされる +# あとはポイントを計算する +# （自分のパーの数） - （相手のパーの数） -    gc = 0 -    pc = 0 -    p = 0 -    for x in s: -        if gc < pc + 1: -            gc += 1 -            if x == "p": -                p -= 1 -        else: -            pc += 1 -            if x == "g": -                p += 1 -    return p +    g = s.count("g") +    p = len(s) - g +    myp = len(s) // 2 +    myg = len(s) - myp +    return myp - p