#include<bits/stdc++.h>
using
namespace
std;
int
cong_sas(vector<
int
> s1,vector<
int
> s2,vector<
int
> a1,vector<
int
> a2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
sort(a1.begin(), a1.end());
sort(a2.begin(), a2.end());
if
(s1[0] == s2[0] && s1[1] == s2[1]){
if
(a1[2] == a2[2]){
return
1;
}
}
if
( s1[1] == s2[1] && s1[2] == s2[2]){
if
( a1[0] == a2[0]){
return
1;
}
}
if
( s1[2] == s2[2] && s1[0] == s2[0]){
if
( a1[1] == a2[1]){
return
1;
}
}
return
0;
}
int
cong_asa(vector<
int
> s1,vector<
int
> s2,vector<
int
> a1,vector<
int
> a2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
sort(a1.begin(), a1.end());
sort(a2.begin(), a2.end());
if
(a1[0] == a2[0] && a1[1] == a2[1]){
if
(s1[2] == s2[2]){
return
1;
}
}
if
( a1[1] == a2[1] && a1[2] == a2[2]){
if
(s1[0] == s2[0]){
return
1;
}
}
if
( a1[2] == a2[2] && a1[0] == a2[0]){
if
(s1[1] == s2[1]){
return
1;
}
}
return
0;
}
int
cong_aas(vector<
int
> s1, vector<
int
> s2, vector<
int
> a1, vector<
int
> a2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
sort(a1.begin(), a1.end());
sort(a2.begin(), a2.end());
if
(a1[0] == a2[0] && a1[1] == a2[1]){
if
(s1[0] == s2[0] || s1[1] == s2[1]){
return
1;
}
}
if
(a1[1] == a2[1] && a1[2] == a2[2]){
if
(s1[1] == s2[1] || s1[2] == s2[2]){
return
1;
}
}
if
(a1[2] == a2[2] && a1[0] == a2[0]){
if
( s1[0] == s2[0] || s1[2] == s2[2]){
return
1;
}
}
return
0;
}
int
cong_hl(vector<
int
> s1, vector<
int
> s2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
if
(s1[2] == s2[2]){
if
( s1[1] == s2[1] || s1[0] == s2[0]){
return
1;
}
}
return
0;
}
int
cong_sss(vector<
int
> s1,vector<
int
> s2){
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
if
(s1[0] == s2[0] && s1[1] == s2[1] && s1[2] == s2[2]){
return
1;
}
return
0;
}
int
main()
{
vector<
int
> s1 = {3, 4, 5};
vector<
int
> s2 = {4, 3, 5};
vector<
int
> a1 = {90, 60, 30};
vector<
int
> a2 = {60, 30, 90};
int
sss = cong_sss(s1, s2);
int
sas = cong_sas(s1, s2, a1, a2);
int
asa = cong_asa(s1, s2, a1, a2);
int
aas = cong_aas(s1, s2, a1, a2);
int
hl = cong_hl(s1, s2);
if
(sss || sas || asa || aas || hl){
cout <<
"Triangles are congruent by "
<< endl;
if
(sss) cout <<
"SSS "
<< endl;
if
(sas) cout <<
"SAS "
<< endl;
if
(asa) cout <<
"ASA "
<< endl;
if
(aas) cout <<
"AAS "
<< endl;
if
(hl) cout <<
"HL "
<< endl;
}
else
cout <<
"Triangles are not congruent"
<< endl;
}