#include<iostream>
#include<string>
using namespace std;
int n;
string deal(string s, int&e)
int k = 0;
while (s.length() > 0 && s[0] == '0') {
s.erase(s.begin());
}
if (s[0] == '.') {
s.erase(s.begin());
while (s[0] == '0'&&s.length() > 0) {
s.erase(s.begin());
e--;
}
}
else {
while (k < s.length() && s[k] != '.') {
k++;
e++;
}
if (k < s.length()) {
s.erase(s.begin() + k);
}
}
if (s.length() == 0) {
e = 0;
s = '0';
}
string x;
k = 0;
for (int i = 0;i < n;i++) {
if (k < s.length()) {
x += s[k++];
}
else{
x += '0';
}
}
return x;
}
int main() {
string a, b, c, d;
int e1 = 0, e2 = 0;
cin >> n >> a >> b;
c = deal(a, e1);
d = deal(b, e2);
if (c == d&&e1 == e2) {
printf("YES 0.%s*10^%d", c.c_str(), e1);
}
else {
printf("NO 0.%s*10^%d 0.%s*10^%d", c.c_str(), e1, d.c_str(), e2);
}
system("pause");
return 0;
}
08-16
08-16