#include <iostream>
#include <vector>
#include <cmath>
#include <set>
using namespace std;
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
signed main() {
set<pair<int,int>> s;
int n;
cin >> n;
vector<int> a(n);
for(int &i:a)
cin >> i;
int m;
cin >> m;
while(m--){
int x,y;
cin >> x >> y;
s.insert({x,y});
s.insert({y,x});
}
for(int i = 0; i < n; i++)
for(int j = 0; j < n - i - 1; j++)
if(a[j] > a[j+1] && s.find({a[j],a[j+1]}) == s.end())
swap(a[j],a[j+1]);
for(int &i:a)
cout << i << " ";
}
2. Теперь в коробке остался один красный карандаш, а всего карандашей - три. Вероятность вынуть красный карандаш равна 1/3.
3. Вероятность наступления обоих событий определяется произведением обоих вероятностей и составляет 1/2 × 1/3 = 1/6
Итак, два красных (а также два синих) карандаша можно вынуть с вероятностью 1/6.
Сумма всех вероятностей равна 1, с вероятностью 1/6 оба карандаша будут красные, 1/6 - синие, значит на долю события, когда карандаши будут разного цвета остается 1 - 1/6 - 1/6 = 2/3