#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<cmath> #include<map> #include<set> #include<vector> #include<algorithm> #include<stack> #include<queue> #include<cctype> #include<sstream> using namespace std; #define pii pair<int,int> #define LL long long int const int eps=1e-8; const int INF=1000000000; const int maxn=20000+10; int n,m,a[maxn],b[maxn],sum; int main() { //freopen("in1.txt","r",stdin); //freopen("out.txt","w",stdout); while(scanf("%d%d",&n,&m)==2) { if(m==0&&n==0) { break; } else { sum=0; for(int i=0; i<n; i++) { scanf("%d",&a[i]); } for(int i=0; i<m; i++) { scanf("%d",&b[i]); } if(n>m) { printf("Loowater is doomed! "); } else { int tn=n,tm=m,j=0,i=0; sort(a,a+n); sort(b,b+m); for(i=0; i<n; i++) { if(tn>tm||j>=m) { break; } else { for(; j<m; j++) { if(a[i]<=b[j]) { sum+=b[j]; tm--; tn--; j++; /*这里的j++非常重要,必须加,因为不加 的话下一次循环还是先从上次这个j开始判断一 遍再进行下一次循环。(如果for里写成 ++j效果和j++一样的),这也是for循环 中易犯的错误。*/ break; } else { tm--; } } } } if(i==n) { printf("%d ",sum); } else { printf("Loowater is doomed! "); } } } } //fclose(stdin); //fclose(stdout); return 0; }