#Pyth, <s>27</s> 26 bytes

    &zhfTmf!/>zhxzYYm<>zkdUzUz

[Try it here.][1]

Note that due to a bug in the online compiler, the empty string case only works correctly on the command line version, which can be found [here.][2]

You can also cure the bug by giving a newline as the input for the online compiler.


### Explanation:

                                       z = input(), implicit.
    &z                                 Prints empty string if input is empty.
      hfT                              Take the first non-empty list from
         m                  Uz         A list of list of substrings of z, divided by length
                    m<>zkdUz           with some shorter strings repeated later, to no effect.
          f                            Where the substrings are filtered on
           !/      Y                   There being 0 occurrences of the substring in
             >z                        The slice of z
               hxzY                    from the character after the first character
                                       of the first occurrence of the substring in z
                                       to the end of z.
   


  [1]: https://pyth.herokuapp.com/
  [2]: https://github.com/isaacg1/pyth