output_description: Print one string with the maximum possible doctoral and postdoctoral quotient
  among the strings that can be obtained by replacing each `?` in T with `P` or
  `D`. If there are multiple such strings, you may print any of them.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      T
attempt: T = input()
  ans = ""
  now = 0
  # now は現在の文字数
  for i in range(len(T)):
      if now == len(T):
          break
      else:
          if T[now] == "D":
              ans += "D"
              now += 1
          elif T[now] == "P":
              ans += "P"
              now += 1
          else:
              # つまり T[now] == "?"
              # 先頭の場合
              if now == 0:
                  if now + 1 == len(T):
                      ans += "D"
                      now += 1
              # 末尾の場合
              elif now == len(T) - 1:
                  ans += "D"
                  now += 1
              else:
                  if now + 1 == len(T):
                      # 次の文字が末尾の場合
                      if ans[now - 1] == "P":
                          ans += "D"
                      else:
                          ans += "P"
                      now += 1
                  else:
                      # 次の文字が"P"
                      if T[now + 1] == "P":
                          ans += "DP"
                          now += 2
                      # 次の文字が"D"
                      elif T[now + 1] == "D":
                          ans += "PD"
                          now += 2
                      # 次の文字が"?"
                      if T[now - 1] == "D":
                          ans += "P"
                          now += 1
                      else:
                          ans += "D"
                          now += 1
                      for j in range(len(T)):
                          if now == len(T):
                              break
                          if T[now] == "?":
                              if ans[now - 1] == "D":
                                  ans += "P"
                                  now += 1
                              elif ans[now - 1] == "P":
                                  ans += "D"
                                  now += 1
                          else:
                              ans += T[now]
                              now += 1
                              break
  print(ans)
  
problem_description: Statement
  
  For a string S consisting of the uppercase English letters `P` and `D`, let
  the _doctoral and postdoctoral quotient_ of S be the total number of
  occurrences of `D` and `PD` in S as contiguous substrings. For example, if S =
  `PPDDP`, it contains two occurrences of `D` and one occurrence of `PD` as
  contiguous substrings, so the doctoral and postdoctoral quotient of S is 3.
  
  We have a string T consisting of `P`, `D`, and `?`.
  
  Among the strings that can be obtained by replacing each `?` in T with `P` or
  `D`, find one with the maximum possible doctoral and postdoctoral quotient.
samples: [{"input": "PD?D??P", "output": "PDPDPDP\n    \n\nThis string contains three occurrences of `D` and three occurrences of `PD` as\ncontiguous substrings, so its doctoral and postdoctoral quotient is 6, which\nis the maximum doctoral and postdoctoral quotient of a string obtained by\nreplacing each `?` in T with `P` or `D`.\n\n* * *"}, {"input": "P?P?", "output": "PDPD"}]