Problem:
Score : 100 points

Problem Statement

Cat Snuke is learning to write characters.
Today, he practiced writing digits 1 and 9, but he did it the other way around.

You are given a three-digit integer n written by Snuke.
Print the integer obtained by replacing each digit 1 with 9 and each digit 9 with 1 in n.

Constraints

111 \leq n \leq 999

n is an integer consisting of digits 1 and 9.

Input

Input is given from Standard Input in the following format:

n

Output

Print the integer obtained by replacing each occurrence of 1 with 9 and each occurrence of 9 with 1 in n.

Sample Input 1

119

Sample Output 1

991

Replace the 9 in the ones place with 1, the 1 in the tens place with 9 and the 1 in the hundreds place with 9. The answer is 991.

Sample Input 2

999

Sample Output 2

111

Solution in Ruby (2.3.3) (judge verdict: Runtime Error)

gets
nums = gets.split.map(&:to_i)

a_nums = []
b_nums = []

index = 0
nums.each do |num|
  if index.even?
    a_nums.push(num)
  else
    b_nums.push(num)
  end
  index += 1
end

def getFreqList(nums)
  freqList = Hash.new
  nums.each do |num|
    if freqList[num].nil?
      freqList[num] = 1
    else
      freqList[num] += 1
    end
  end
  freqList
  # newList = []
  # freqList.sort_by{|k, v| v}.reverse.each do |item|
  #   item[1].times do
  #     newList.push(item[0])
  #   end
  # end
  # newList
end

# p getFreqList(nums)

a_freqList = getFreqList(a_nums)#a_nums.sort_by!{|num| a_nums.count num}.reverse! #100000000
b_freqList = getFreqList(b_nums)#b_nums.sort_by!{|num| b_nums.count num}.reverse!

a_count = 0
b_count = 0

while a_freqList[a_count] == b_freqList[b_count]
  if a_freqList[a_count + 1] >= b_freqList[b_count + 1]
    b_count += 1
  else
    a_count += 1
  end
end

res = 0

res += a_nums.select {|num| num != a_freqList[a_count]}.count + b_nums.select {|num| num != b_freqList[b_count]}.count #20000
p res