#include <bits/stdc++.h>
using namespace std;
int main(){
    vector<string> vec;
    string s;
    int minlen = 1001;
    int maxlen = 0;
    while(getline(cin, s)){
        vec.push_back(s);
        if(s.length() < minlen){
            minlen = s.length();
        }
        if(s.length() > maxlen){
            maxlen = s.length();
        }
    }
    for(auto str : vec){
        if(str.length() == minlen){
            cout << str << endl;
        }
    }
    for(auto str : vec){
        if(str.length() == maxlen){
            cout << str << endl;
        }
    }
    return 0;
}

看了别的题解用的getline方法,只用cin的话遇到空格就算一个字符串了