N = gets.chomp L = N.size def dfs(sum, mask) res = sum [*0...L].combination(3).each do |i, j, k| next if mask[i] == 1 next if mask[j] == 1 next if mask[k] == 1 next if N[i] == N[j] next if N[j] != N[k] nmask = mask | (1 << i) | (1 << j) | (1 << k) v = (N[i] + N[j] + N[k]).to_i val = dfs(sum + v, nmask) res = val if res < val end res end puts dfs(0, 0)