#include<stdio.h>
#include<math.h>

int main(void){
  int i, j, n, m, cnt, max = 0, tmp, dic[200001];
  char c, t[200001];
  
  i = 0, cnt = 0;
  while((c = getchar()) != EOF){
    if(c == '?'){
      dic[cnt++] = i;
    }
    t[i++] = c;
  }
  n = i;
  
  //入力チェック
  /*
  printf("%s\nn:%d個\nn:%d個\n", t, cnt, n);
  for(i = 0;i < n;i++){
    printf("%d ", dic[i]);
  }
  printf("\n");
  */
  
  for(i = 0;i < pow(2, cnt);i++){
    for(j = 0;j < cnt;j++){
      if((i >> j) & 01){
        t[dic[j]] = 'P';
      }
      else{
        t[dic[j]] = 'D';
      }
    }
    
    //変換チェック
    //printf("%s", t);
    
    
    if(t[0] == 'D'){
      m = 1;
    }
    else{
      m = 0;
    }
    for(j = 1;j < n;j++){
      if(t[j] == 'D'){
        m++;
        if(t[j - 1] == 'P'){
          m++;
        }
      }
    }
    
    //博士・PD指数チェック
    //printf("%d ", m);
    
    if(max < m){
      max = m;
      tmp = i;
    }
  }
  
  for(j = 0;j < cnt;j++){
	if((tmp >> j) & 01){
      t[dic[j]] = 'P';
    }
    else{
      t[dic[j]] = 'D';
    }
  }
  
  printf("%s", t);
  
  return 0;
}