/*DEP TRAI CO J SAI*/
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%##***************************+++++++++++++++++++++++++++++++++++++++++++++++***************************######%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%####**************************++++++++++++++++++++++++++++++++++++++++++++++++***************************#######%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%##**************************++++++++++++++++++++++++++++++++++++++++++++++++++****************************########%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@%%%##***************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++************************#########%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%##*************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********************##########%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%##*************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++**+*********************#############%%@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%##*************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************########*######%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%####********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********************######**#######%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%##**************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++************************#####***#######%%@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%##***********************+*****+++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********************######***######%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%##******************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************####****#####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%####*****************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++***********************###****########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%%####***************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**********************#****#########%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%###*****************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************########%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%%###******** ************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*********************###**########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%#####****************############*********++++++++++++++++++++++++++++++++++++++++++++++++++************###***#####################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%#####************##%%%%%%%%%%%%%%%%%%%%%##***+++++++++++++++++++++++++++++++++++++++++++***####%%%%%%%@%%%%%%%%%%%%%################%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%######*******##%%%@@@@@@@@@@%%%%%%%%%@%%%%%%%##****++++++++++++++++++++++++++++++++++**###%%%%%%%%%%@@@@@@@@@@@@@@@@@%%##***#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%######*****#%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%####***++++++++++++++++++++++++++***###%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@%%%###########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%#####****##%%%###%%%###**######%%%%%%%%%%%%%%%%%%%%%###***+++++++++++++++++++++******##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@%%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@%%#####***#######**********+**********####################***+++++++++++++++++++******#######%%%%%%%%%#######*******####%%%%@%#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%####*****************+++++++++++++++++************#*###****+++++++++++++++++++*****#######************+++++************##%%%%########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%###***#*******++**+++++++++++++++++++++++*****************+++++++++++++++++++*****##**************+++++++++++++++*******###%%#######%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%###****************+++++++++++++++++++++++++*************++++++++++++++++++++*****#**********+++++++++++++++++++++********#########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%##*****************++*+++*******************************+++++++++++++++++++*******##******+++++++++++++++++++++************########%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@%%##*******************************######**#####**********+++++++++++++++++*****#####*******+++++++++*+***++++****************###**##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%##***************##**####%%%%@@%%%%%%%%%%%##************++++++++++++++++******##************++++++++*****************************##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@%%##%%@@@%%#***************#####%%@@%##%%##*#%%####**##%##*************+++++++++*******#####*********######%%%%%%#############*#**********####%###%%%%%%%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@###***##%@%##************###%%@@@@@%%#**####%%%%##***++**#####*+***********+++++********###****#######****#***#%%%%%%%%%%%%######***********#########%%%%%%%%%@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@###******#%##**************##%%%%########********************+++**********++++++*******###*****####****++**###%%%######%%@@%%%%#####**********###***#%%%%%%%@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@%#*##******##***********+++*******************++********++++++++**********++++++********####*******************##########%%%@@@@%%####*********##%####%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@%#*##******###******++++++++**********++**+*************++++++************++++++********####**********++**+++********#######%%%%%%###**********########%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@#**##*****###*******+++++++++++++++++****************++++++++*************++++**********######*****************************#######**************##**####%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@%*********####********++++++++++++++++++++++++++++++++++++++++**************++**+*********####********++++******************************************#####%@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@%********#####********+++++++++++++++++++++++++++++++++++++++++*************++++++*********####*******++++++++++++++++++++***********************#########%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@%*******######*******++++++++++++++++++++++++++++++++++++++++************+++++++++++********###*******++++++++++++++++++++++++++++*************#####*#####%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########%%%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@#**+++**#%###********+++++++++++++++++++++++++++++++++++++++***********++++++++++++++++*******#*******+++++++++++++++++++++++++++++++**********#####**####%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%######%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@@#*++++**#####*******+++++++++++++++++++++++++++++++++++++++**********++++++++++++++++++++******##*****++++++++++++++++++++++++++++++++*********##*###**###%%@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%#################%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@%#*++***######*******++++++++++++++++++++++++++++++++++++++********++++++++++++++++++++++++***********+++++++++++++++++++++++++++++++++++*******##*###****#%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####################%%%%%%%%*
@@@@@@@@@@@@@@@@@@@@%*++****#####********+++++++++++++++++==+++++++++++++++++++****++++++++++++++++++++++++++++************++++++++++++++++++++++++++++++++++*******#**###****#%@@@@@@@@@@%%%%%%%%%%%%%%%%%%%#################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@%**+****#%%###*******++++++++++++++++++++++++++++++++++++++**+++++++++++++++++++++++++++++**************+++++++++++++++++++++++++++++++++**********##*****#%@@@@@@@@@@%%%%%%%%%%%%########################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@%#*****##%%###*******+++++++++++++++++++++++++++++++++++++***++++++*********++++++++++++****************+++++++++++++++++++++++++++++++++***********#*****#%@@@@@@@@@@%%%%%%%%############################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@%#*****##%%###*******+++++++++++++++++++++++++++++++++++++**++***#%%@@@@@@@%#*++++++++**##%@@%%##********++++++++++++++++++++++++++++++++***********##****#%@@@@@@@@@@%%%%%%%#############################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@@#******#%%####*******++++++++++++++++++++++++++++++++++++******###%%@@@@@%##***++++***#@@@@@@%%###*******+++++++++++++++++++++++++++++++******#****###**#%%@@@@@@@@@@%%%%%%%#############################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@@%******#%%####*******++++++++++++++++++++++++++++++++++++*************#**************##%%%%%%##**********+++++++++++++++++++++++++++++************####**#%@@@@@@@@@@@%%%%%%%#############################################%%%%%%*
@@@@@@@@@@@@@@@@@@@@@@#*****#%%%###*********++++++++++++++++++++++++++++++++++******+++++++++++*********###********+++***#*****+++++++++++++++++++++++++++*************#%#####%@@@@@@@@@@@%%%%%%%##############################################%%%%%*
@@@@@@@@@@@@@@@@@@@@@@%#****#%%%%##**********++++++++++++++++++++++++++++++++++********+++++++*************************####****++++++++++++++++++++++++****************#%#**#%%@@@@@@@@@@@%%%%%%###############################################%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@%%%%##%%%%###*********+++++++++++++++++++++++++++++++++++++******+++++++++++***************#######*******++++++++++++++++++++++*****************%%###%%@@@@@@@@@@@@%%%%%%%##############################################%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%####************++++++++++++++++++++++++++++++++++++++++*++++++++++++++++*********************++++++++++++++++**********************#%%%%%%@@@@@@@@@@@@%%%%%%%%##############################################%%%%%*
@@@@@@@@@@@@@@@@@@@@@@@%##*#%%%%%%######***********++++++++++++++++++++++++++++++++++*+****#*****+++++++***#####********************++++++++++++******************##*#%%%%%%%%@@@@@@@@@@@%%%%%%%%###############################################%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@%%###%@%%%%######*************+++++++++++++++++++++++++++*****####%%%%%%##**+**###%%%%%%%##*********************+++++*******************######%%%####%@@@@@@@@@@@%%%%%%%################################################%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#######**********+++++++++++++++++++++++++****###%#%%%%%%%%%%#****##%%%%%%%%%%%%##****************************************########%%%###%%%@@@@@@@@@@%%%%%%%#################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%######*********++++++++++++++++**********####%#%%%%%%%%%%%%%####%%###%%%%%@@@@%%###**********************************##########%%%####%%%%%@@@@@@@%%%%%%%%#################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%#######************++****+******########%%%%###***********#######*****####%%%%%%%%%######**************************######%%%%##%#####%%%%%@@@@@@%%%%%%%%%################################################%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%#####**********************####%%%%%#####**********++++++******************###%%%%%%%#####*******************########%%%%%%#%%######%%%%%%%%%%%%%%%%%%#################################################%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%#%#####******************######%%###*******************************************##%#%%%%%%####***************#########%%%%%%%%#######%%%%%%%%%%%%%%%%%%##################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%#%%%%%%%#####***************##########****************************************######*#####%%%%%%%#######*******########%%%%%%##%#%########%%%%%%%%%%%%%%%%%##################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%###%%%%%#####**************#########********################################################%%%%%%%#####*****######%%%%%%%%%##%%%%########%%%%%%%%%%%%%%%%%#################################################%%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%##%%%%%%######************#####****#########################################################%%%%%%%##############%%%%%%%%%#%%%%%#########%%%%%%%%%%%%%%%%###################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%#####***********####***###############*####****####**###############################%%%%%############%%%%%%%%%%%%%%%%##########%%%%%%%%%%%%%%%%####################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%###**********##***#####%%#####**********************************#####%%%%%#########%%%###########%%%%%%%%##%%%%%%%##########%%%%%%%%%%%%%%%%###################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%###**************########*************+++++++++++++++*************#############*###############%%%%%%%%##%%%%%%%%##########%%%%%%%%%%%%%%%####################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%###****************######********++++++++++++++++++++++++++*******###########******#########%%%%%%%%%%%#%%%%%%%%############%%%%%%%%%%%%%%####################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%####***************************+++++++++++++++++++++++++++++*********#######******##########%%%%%%%%%%%%%%%%%%%##############%%%%%%%%%%%%%####################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%###******************************++++++++++++++++++++++++++*********########****###########%%%%%%%%%%%%%%%%%%%##############%%%%%%###########################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@@@@%%%###*****************##*****************+*****************************#######***###########%%%%%%%@%%%%%%%%%%################%%%%%############################################################%%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@@%%@@@@@@%%%#####**************######***************************************#########*****###########%%%%%@@@@%%%%%%%%######****#######%%%%%%%###########################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@%%%######******************###########%#%%%%%%%%%%%%%%%%%%%%%%%##########*******###########%%%@@@@@@@@@%%%%%#####***#**#######%%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@%%%#####*********************######%#####%%%%%%%%%%%%%%%%#%%%%####***********#############%%%@@@@@@@@@@@%%####*******#########%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%####%%@@@@@@@@%%%######*************************############%%%%%%%%%%#####***************############%%%%@@@@@@@@@@%%###*#*******#########%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#####%%%%@@@@@@@%%#####**********************++++************####*#######***************#############%%%%@@@@@@@@@%%%%#***********#########%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#######%@@@@@@@%%%%####****************+++++++++++++++++++++*+++*+*******************##############%%%%@@@@@@@@%%%%%##************#######%%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%#######%%%%@@@@%%%%%###***************+++++++++++++++++++++++++++++++++++************##############%%%%@@@@@@@%%%%###*************#######%%%%%%############################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##****###%%%@@@@@%%%%%##*************+++++++++++++++++++++++++++++++++++++****************#######%%%%@@@@@@@@%%######*************#######%%%%%%%%##########################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##******###%%%@@@@@@%%%##************+++++++++++++++++++++++++++++++++++++***************######%%%%%@@@@@@@%%%#######*************#######%%%%%%%%%%########################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*********##%%%%@@@%%%%##******++++++++++++***+++++*++++++++++++**++********************####%%%%@@@@@@@@@%%%#######**************#######%%%%%%%%%%#########################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##***********###%%%@@@@%%%##****++++********************++++++++************************##%%%%%%@@@@@@%%%%#####*#####**************######%%%%%%%%%%%########################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%###************###%%@@@@%%%##******+*******#****###******************##########*****#####%%%%%%@@@@@%%%%####*#***###**************#######%%%%%%%%%%%%######################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##**************##%%%@@@@%%####******##############****#****#########%%%%%%%#######%%%%%%%%@@@@%%%%######********##**************#######%%%%%%%%%%%%%#####################################################%%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##****************##%%%@@@@%%######*#########################%%#%%%%%%%%%%%%%%%%%%%%%%%%@@@@@%%%%%####***********##**************######%%%%%%%%%%%%%#######################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*****************###%%%%@@@%%%%%%%%%%%%%%%%%%%%%%%%%#%####%%%%%%%%%%%%%@@%%%%%%%%@@@@@@@@%%%%%####*************##**************#######%%%%%%%%%%%%#######################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##*************++*****##%%%@@@@@@@%%@%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@%%%%@@@@@@@@%%%%%####***************##****************#####%%%%%%%%%%%%#######################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##**********+++++*******###%%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%####***************#*#*****************#####%%%%%%%%%%%%%######################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%##********+++++++++++******#%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%####********************##****************#####%%%%%%%%%%%%%######################################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%#******++++++++++++++++++******####%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###*********************************************#####%%%%%###############****#########################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*++============================================================================================================================================================================++*#################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+==================================================================================================================================================================================+################################%*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+===================================================================================================================================================================================+*################################*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+====================================================================================================================================================================================*################################*
@@@@@@@@@@@@@@@@@@@@@@@@@%%%#*==============================================*%@@@%*=============================================================+#%%#+========+*##*+==+##*=========================================*################################*
@@@@@@@@@@@@@@@@@@@@@%%%#####+==========+%@@@@@@@@@@@@@@@%#*+==============*@@@@#+===+****+====================================================*%@@@@%*======*%@@@@@%#%@@#+==+****+================================*################################*
@@@@@@@@@@@@@@@@%%%#####*****+==========+%@@@@@@@@@@@@@@@@@@@#+===========*@@@%*=====#@@@@*===+*%@@@@#+========================================+#@@@@#+=====+#@@#*#%@@@@%+==+#@@@%*================================+################################*
@@@@@@@@@@@%%%#####**********+==========+%@@@@@#*++++**#@@@@@@%+=========+****+====+#@@@@#+====#@@@@@#+==========================================++++=======+***+==++***==+*#@@@@#+================================+################################*
@@@@@%%%%#####***************+==========+%@@@@@*========*@@@@@@+========++**##%%%%@@@@@@#+==+**%@@@@@%****===============++*####*++==+*****+===+******+========+**###%%%%@@@@@@%*+=+******==+**####*++=============+################################*
%%%######********************+==========+%@@@@@*========*@@@@@%+======*#@@@@@@@@@@@@@%*=====#@@@@@@@@@@@@%+============+#@@@@@@@@@@#*%@@@@@*===+@@@@@%+=====+#%@@@@@@@@@@@@@#++====*@@@@@%*%@@@@@@@@@%*+===========*###############################%*
#####*****************+++++**+==========+%@@@@@#++++++*#@@@@@#+=====+#@@@@@@@%%%@@@@@@%*+===*%%@@@@@@@%%%#+===========*@@@@@@@@@%@@@@@@@@@@*===+@@@@@%+===+#@@@@@@@%%%@@@@@@@#+====*@@@@@@@@@@@@@@@@@@@#+==========*###############################%*
**************++++++++++++***+==========+%@@@@@@@@@@@@@@@@%*+======+%@@@@@#+====+*%@@@@@*+====+#@@@@@%+==============*%@@@@@#*====+*%@@@@@@*===+@@@@@%+===#@@@@@%*+====+%@@@@@%+===*@@@@@@%+====+#@@@@@%*==========*################################*
************+++++++++++++++**+==========+%@@@@@@@@@@@@@@@@@@@#*====*@@@@@%+=======*@@@@@%+=====#@@@@@%+=============+#@@@@@#+=======*@@@@@@*===+%@@@@%+==*@@@@@%*=======+%@@@@@*===*@@@@@%+======+%@@@@@*==========*###############################%*
******++++++++++++++++++++++++==========+%@@@@@*+======+*%@@@@@%+=+#@@@@@#========+%@@@@@*=====#@@@@@%+=============+%@@@@@*========+%@@@@@*===+%@@@@%+==*@@@@@%+========#@@@@@#===*@@@@@%+======+%@@@@@*==========+##############################%%*
***+++++++++++++++++++++++++++==========+%@@@@@*=========+%@@@@@#=+#@@@@@#+=======+%@@@@@*=====#@@@@@%+=============+#@@@@@#========+%@@@@@*===+%@@@@%+==*@@@@@%+=======+%@@@@@*===*@@@@@%+======+%@@@@@*==========+*******#######################%%*
+***++++++++++++++++++++++++++==========+%@@@@@*=========*%@@@@@#==*@@@@@%*======+#@@@@@%+=====#@@@@@#+==============*@@@@@@*======+#@@@@@@*===+%@@@@%+==+%@@@@@*=======*@@@@@@*===*@@@@@%+======+%@@@@@*==========+***********#####################*
+++++++++++++++++++++++++++*++==========+%@@@@@#+++++++*#@@@@@@%*===#@@@@@@#++++*%@@@@@%*======*@@@@@%*+=============+#@@@@@@%#***#@@@@@@@@*===+%@@@@%+===*%@@@@@#*+++*#@@@@@@*====*@@@@@%+======+%@@@@@*==========+***************#################*
**+*+++++++++++++++++++++++**+==========+%@@@@@@@@@@@@@@@@@@@@#+=====*%@@@@@@@@@@@@@@@#+=======+%@@@@@@@@%+===========+*%@@@@@@@@@@%#%@@@@@*===+%@@@@%+====*%@@@@@@@@@@@@@@@%*=====*@@@@@%+======+%@@@@@*==========+**********######################*
*****++++++++++++++++++++++**+==========+%@@@@@@@@@@@@@@@@%#*+=========+#%@@@@@@@@%%*+==========+#%@@@@@@%+==============+*#%%%%#*+++%@@@@@*===+%@@@@%+======+#%@@@@@@@@@%#++======*@@@@@#+======+%@@@@%*==========+*###############################*
##*************++++++++******+=============================================+++++++==================++++++===========+******+=======*@@@@@%+=====================+++++++===========================================*#######*******##################*
#########********************+=======================================================================================+#@@@@@@%#**##%@@@@@%*========================================================================+##**************################*
#################************+=========================================================================================+#@@@@@@@@@@@@@@%*+=========================================================================+*****************###############*
*****########################*============================================================================================+**#######*++============================================================================+*****************##*############+
*********####################*=====================================================================================================================================================================================+********************************+
***************###############+===================================================================================================================================================================================+*********************************+
*********************##########++================================================================================================================================================================================+**********************************+
***#*************************###***++++++++++++++++++++++++++++++++==+++++++=++++++====+++====+==========++++++=+++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*************************************+ */
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize ("O3")
#pragma GCC optimize ("unroll-loops")
#define fi first
#define se second
#define pu emplace_back
#define ll long long
typedef pair <ll,ll> ii;
const int N=2e6;
long long mod=1e9+7;
int n,m,x,y;
int a[N+1],b[N+1];
struct node{
int lazy;
int val,sz;
};
node s[N*4+1];
void add(int id,int val){
if(s[id].val>val){
s[id].val=s[id].lazy=val;
}
}
void down(int id){
int t=s[id].lazy;
s[id].lazy=mod;
if(t==mod) return;
add(id*2,t);
add(id*2+1,t);
}
void Build(int id,int l,int r){
s[id].val=s[id].lazy=mod;
if(l==r){
return;
}
int mid=(l+r)/2;
Build(id*2,l,mid);
Build(id*2+1,mid+1,r);
}
void Update(int id,int l,int r,int u,int v,int val){
if(l>v || r<u) return;
if(l>=u and r<=v){
add(id,val);
return;
}
down(id);
int mid=(l+r)/2;
Update(id*2,l,mid,u,v,val);
Update(id*2+1,mid+1,r,u,v,val);
s[id].val=min(s[id*2].val,s[id*2+1].val);
}
int Find(int id,int l,int r,int u,int v){
if(l>v || r<u) return mod;
if(l>=u && r<=v) return s[id].val;
int mid=(l+r)/2;
down(id);
int tg1=Find(id*2,l,mid,u,v);
int tg2=Find(id*2+1,mid+1,r,u,v);
return min(tg1,tg2);
}
void tinh(){
cin>>n>>m;
Build(1,0,N);
for(int i=1;i<=n;i++) {cin>>a[i];
for(int j=0;j*a[i]<=N;++j){
int x=a[i]*j,y=min(N+1,a[i]*(j+1));
//cout<<i<<" "<<x<<endl;
//cout<<x<<" "<<y-1<<" "<<x<<'\n';
Update(1,0,N,x,y-1,x);
}
}
//for(int i=0;i<=6;i++) cout<<Find(1,0,N,i,i)<<' ';
while(m--){
int x;
cin>>x;
int ans=0;
//cout<<x<<"\n";
while(x){
//cout<<x<<'\n';
int z=Find(1,0,N,x,x);
if(z>=x){
ans=-1;
break;
}
ans++;
x=z;
}
if(ans==-1) cout<<"oo\n";
else cout<<ans<<'\n';
}
}
int main(){
ios_base::sync_with_stdio(false);
//freopen("jday.inp","r",stdin);
//freopen("jday.out","w",stdout);
cin.tie(0);
cout.tie(0);
tinh();
return 0;
}
//code của anh Nam đẹp trai nhất CHL
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |