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: def main():
      import itertools, copy, sys
  
      input = sys.stdin.readline
      T = list(input())
      TC = T
      N = [i for i, x in enumerate(T) if x == "?"]
      B = list(itertools.product(["P", "D"], repeat=len(N)))
      point = [0] * len(B)
      strs = [""] * len(B)
      TC_count = TC.count
      for b, i in zip(B, range(len(B))):
          TC = copy.deepcopy(T)
          for n, j in zip(N, range(len(N))):
              TC[n] = b[j]
          TC = "".join(TC)
          strs[i] = TC
          point[i] = TC_count("PD") + TC_count("D")
      maxin = max(point)
  
      print(strs[point.index(maxin)])
  
  
  main()
  
  if __name__ == "__main__":
      main()
  
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"}]