# frozen_string_literal: true def pair?(seq) seq[0] == seq[1] || seq[1] == seq[2] || seq[2] == seq[0] end def min_or_max?(seq) seq[1] == seq.min || seq[1] == seq.max end def kadomatsu?(seq) return false if pair?(seq) return true if min_or_max?(seq) false end def count_kadomatsu(seq) seq.max.times.map do |i| 1 if kadomatsu?(seq.map { |k| k % (i + 1) }) end.compact.sum end # --------------------------------------------- exec AS = gets.chomp.split.map(&:to_i) puts(if pair?(AS) 0 elsif min_or_max?(AS) 'INF' else count_kadomatsu(AS) end)