babbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbbabbabbabbbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbbabbabbabbbabbabbabbbabbabbbabbabbabbbabbabbabbbabbabbabb
