![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5a0793497c61afde27dae884021fce5d.png)
#include<stdio.h>
#include<string>
#include<iostream>
using namespace std;
int n;
string deal(string str, int &e){
int k = 0;
while(str.size() > 0 && str[0] == '0'){
str.erase(str.begin());
}
if(str[0] == '.') {
str.erase(str.begin());
while(str.size() > 0 && str[0]=='0'){
str.erase(str.begin());
e--;
}
}
else {
while(k < str.size() && str[k] != '.'){
k++;
e++;
}
if(k < str.size()){
str.erase(str.begin()+k);
}
}
if(str.size() == 0) e=0;
k = 0;
string res;
for(int i = 0; i < n; i++){
if(k < str.size()){
res = res + str[k++];
}else{
res = res + '0';
}
}
return res;
}
int main(){
string str1, str2, str3, str4;
cin>>n>>str1>>str2;
int e1 = 0, e2 = 0;
str3 = deal(str1, e1);
str4 = deal(str2, e2);
if(str3 == str4 && e1 == e2){
cout<<"YES 0."<<str3<<"*10^"<<e1<<endl;
}else{
cout<<"NO 0."<<str3<<"*10^"<<e1<<" 0."<<str4<<"*10^"<<e2<<endl;
}
return 0;
}