L,A,B,M = gets.split.map &:to_i

T = A + B*(L-1)
t = T % M
p10 = (10 ** T.to_s.size) % M

(0...L-1).reverse_each{ |i|
  s = A + B*i
  s10 = (10 ** s.to_s.size) % M

  t = (s % M * p10 % M + t) % M
  p10 = s10 * p10 % M
}

p t
