Language: C++

#include <iostream>
#include<algorithm>//sort,二分探索,など
#include<bitset>//固定長bit集合
#include<cmath>//pow,logなど
#include<complex>//複素数
#include<deque>//両端アクセスのキュー
#include<functional>//sortのgreater
#include<iomanip>//setprecision(浮動小数点の出力の誤差)
#include<iostream>//入出力
#include<iterator>//集合演算(積集合,和集合,差集合など)
#include<map>//map(辞書)
#include<numeric>//iota(整数列の生成),gcdとlcm(c++17)
#include<queue>//キュー
#include<set>//集合
#include<stack>//スタック
#include<string>//文字列
#include<unordered_map>//イテレータあるけど順序保持しないmap
#include<unordered_set>//イテレータあるけど順序保持しないset
#include<utility>//pair
#include<vector>//可変長配列

#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
using P = pair<int,int>;
using ll = long long;



int main() {
    ll a,b,c;
    int n;
    string dec[100005];
    cin >> n >> a >> b >> c;
    string moji;
    bool pos = true;
    rep(i,n){
        cin >> moji;
        if(moji=="AB"){
            if(a==0 && b==0){
                pos=false;
            }else if(a>=b){
                a--;
                b++;
                dec[i]="B";
            }else{
                a++;
                b--;
                dec[i]="A";
            }
        }
        if(moji=="BC"){
            if(b==0 && c==0){
                pos=false;
            }else if(b>=c){
                b--;
                c++;
                dec[i]="C";
            }else{
                b++;
                c--;
                dec[i]="B";
            }
        }
        if(moji=="AC"){
            if(a==0 && c==0){
                pos=false;
            }else if(a>=c){
                a--;
                c++;
                dec[i]="C";
            }else{
                a++;
                c--;
                dec[i]="A";
            }
        }
    }

    if(pos){
        cout << "Yes" << endl;
        rep(i,n) cout << dec[i] << endl;

    }else{
        cout << "No" << endl;
    }
}#include <iostream>
#include<algorithm>//sort,二分探索,など
#include<bitset>//固定長bit集合
#include<cmath>//pow,logなど
#include<complex>//複素数
#include<deque>//両端アクセスのキュー
#include<functional>//sortのgreater
#include<iomanip>//setprecision(浮動小数点の出力の誤差)
#include<iostream>//入出力
#include<iterator>//集合演算(積集合,和集合,差集合など)
#include<map>//map(辞書)
#include<numeric>//iota(整数列の生成),gcdとlcm(c++17)
#include<queue>//キュー
#include<set>//集合
#include<stack>//スタック
#include<string>//文字列
#include<unordered_map>//イテレータあるけど順序保持しないmap
#include<unordered_set>//イテレータあるけど順序保持しないset
#include<utility>//pair
#include<vector>//可変長配列

#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
using P = pair<int,int>;
using ll = long long;



int main() {
    ll a,b,c;
    int n;
    string dec[100005];
    cin >> n >> a >> b >> c;
    string moji;
    bool pos = true;
    rep(i,n){
        cin >> moji;
        if(moji=="AB"){
            if(a==0 && b==0){
                pos=false;
            }else if(a>=b){
                a--;
                b++;
                dec[i]="B";
            }else{
                a++;
                b--;
                dec[i]="A";
            }
        }
        if(moji=="BC"){
            if(b==0 && c==0){
                pos=false;
            }else if(b>=c){
                b--;
                c++;
                dec[i]="C";
            }else{
                b++;
                c--;
                dec[i]="B";
            }
        }
        if(moji=="AC"){
            if(a==0 && c==0){
                pos=false;
            }else if(a>=c){
                a--;
                c++;
                dec[i]="C";
            }else{
                a++;
                c--;
                dec[i]="A";
            }
        }
    }

    if(pos){
        cout << "Yes" << endl;
        rep(i,n) cout << dec[i] << endl;

    }else{
        cout << "No" << endl;
    }
}

Compiler output:
a.cc:86:2: error: stray '#' in program
   86 | }#include <iostream>
      |  ^
a.cc:86:3: error: 'include' does not name a type
   86 | }#include <iostream>
      |   ^~~~~~~
a.cc:114:5: error: redefinition of 'int main()'
  114 | int main() {
      |     ^~~~
a.cc:29:5: note: 'int main()' previously defined here
   29 | int main() {
      |     ^~~~