Spell Caster


Submit solution


Points:100 (partial)
Time limit:0.5s
Memory limit:32M
Author:

Tags
Arrays
Difficulty
Easy

A very important rediscovery was made during this competition. If you were to rearrange the letters in a spell, it becomes several times more powerful! But not just some random rearrangements, no, it must be a very precise and well crafted piece of magic, using an ancient formula by a legendary spell caster. For that very reason, you must do what nobody has done in millennia ­ craft a rearranged spell! That is the third and final challenge in this year's Triwizard championship! To achieve this wizardry, you need to follow a two step algorithm.

Step 1 - Extracting the characters

You are given a sentence that consists only of words of Latin characters (no punctuation, no special symbols or numbers). First, you need to turn that sentence into a sequence of characters in the following way: until all words disappear, the last letter of each word (if exists) is removed from the word and is appended to the output sequence of letters.

For example, let's say you receive the sentence "Fun exam right". You first split into 3 words: ["Fun", "exam", "right"]. Then the last letters are extracted: ["Fu\(n\)", "exa\(m\)", "righ\(t\)"] results into "nmt". And you continue as such:

  1. ["Fu", "exa", "righ"] => "nmtuah"
  2. ["F", "ex", "rig"] => "nmtuahFxg"
  3. ["", "e", "ri"] => "nmtuahFxgei"
  4. ["", "", "r"] => "nmtuahFxgeir".

After the extraction is finished, you are left with the sequence "nmtuahFxgei". It is now time to use that into the next step.

NOTE: Completing just step 1 of this task does not reward any points

Step 2 - Moving the characters

The next step in the ancient spell is to move each letter (from positions 0, 1, …, n­1) to the right N times. The number N is the position of the letter in the Latin alphabet regardless of its casing ('a' => 1, 'b' => 2, …, 'z' => 26). When a letter is moved to the right, if it is the last letter of the sequence, its next position is the first position in the sequence, just before all the letters.

The moving of letters starts from the sequence you reached in step 1. In the current example, that is "nmtuahFxgeir". First, the letter 'n' at position 0 is moved right 14 times: "nmtuahFxgeir" => "mtnuahFxgeir". Then the letter 't' at position 1 is moved right 20 times: "mtnuahFxgeir" => "mnuahFxgetir". Then the process continues:

"mnuahFxgetir" => "mnahFxgetiru" => "mnaFxgetiruh" => "mnaFxgetiruh" => "gmnaFxetiruh" => "gmnaFxtiruhe" => "gmnaiFxtruhe" => "gmrnaiFxtuhe" => "gmrnaiuFxthe" => "gmrnaihuFxte" => "gmrneaihuFxt"

Finally, you are left with "gmrneaihuFxt", which is the result.

Input

  • Read from the standard input
  • On the single line, find the sequence of words
    • The words are separated by a whitespace

Output

  • Print to the standard output
  • On the single line, print the result

Constraints

  • The input data will always be valid and in the format described
  • Each word will consist of only Latin letters
    • No symbols or numbers

Sample tests

Input

Telerik Academy

Output

AymlTiedkaerec

Input

Hi exam

Output

maiHex

Comments


  • 0
    ivsmile96
     commented on March 12, 2019

    В края на условието за стъпка 1, в последния болднат текст е пропуснато "r"-то накрая.


  • 1
    plamen_ivanov
     commented on Oct. 31, 2018

    Егати заплетената "easy" задача. 2 дена решавах последната част. Най-много ме затрудни да намеря новия индекс къде се намира като местим по 20 пъти например.


    • 0
      monika9158
       commented on Dec. 23, 2018

      мисля, че Difficulty level би трябвало да е Insane, или аз би трябвало да съм clever...


  • 0
    3akobah
     commented on Aug. 14, 2018 edit 3

    edited


  • 0
    k.zahariew
     commented on March 21, 2018 edited

    Грешка


  • 1
    georgievgeorgi
     commented on March 21, 2018 edited

    А, и да добавя... задачата определено не е Easy! По мое мнение е по-трудна и от най-трудните задачи на двата мока и на входния изпит от 2018 г. Успех колеги!


  • 0
    markov.r
     commented on Feb. 15, 2018 edited

    Да, същата работа и при мене..


  • 0
    markov.r
     commented on Feb. 15, 2018

    Използвате ли стринг билдър за 2рата част на задачата?

    Не успях да намеря читав начин да преместя char вътре в String и накрая направих char масив и го манипулирах него.

    Прегледах всички методи на стринг билдъра, но нищо не ми свърши работа. Пробвах с insert и после deleteCharAt, но не сработи добре.


    • 0
      3akobah
       commented on Oct. 1, 2018

      Първо delete, после insert.


    • 1
      k.zahariew
       commented on Feb. 15, 2018

      "Пробвах с insert и после deleteCharAt, но не сработи добре." И аз точно това се мъча от известно време и нещо не мога да го наглася... пък нали съм инат и искам да я направя точно по този начин...


      • 0
        georgievgeorgi
         commented on March 21, 2018

        При мен с insert и после deleteCharAt тръгна на 100% от тестовете, но гледам че решението ми е доста по-бавно... Реших да погледна и твоето решение, обаче нещо системата не ми дава възможност да видя кода! При решена задача!?! Да не е някаква нова политика на сайта?


        • 1
          k.zahariew
           commented on March 21, 2018

          Сега погледнах времето на решението ти, по-бавно е, защото аз съм пуснал своето на Java 8, при събмитването. Наскоро го бях писал на един от колегите тук, но това важни за всички задачи, някъде, където не ви достига тайм лимита за Джава 9, пробвайте да го пуснете на Джава 8.


        • 0
          k.zahariew
           commented on March 21, 2018

          Изчакай малко и ще ти даде :)


          • 1
            georgievgeorgi
             commented on March 21, 2018

            Виждам кода вече... сега остава само да го проумея :) Иначе това с разликата в скоростта между Java 8 и Java 9 е наистина впечатляващо голяма! При един и същ код на резултата е 2,05 към 4,45 секунди!!! Това си е два пъти и отгоре по-бързо! Благодаря!