/*
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⡟⠛⠛⠋⠉⠉⠉⠉⠛⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠍⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠫⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠄⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠥⡍⡴⡃⠄⠒⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⢀⠀⡀⡐⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠞⢼⢁⢇⠀⣄⠀⠀⠀⠀⠀⠀⠀⢠⠈⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⢈⠔⠨⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⠈⠐⠁⠅⢱⠊⡈⢩⡡⠀⠆⠁⠀⠀⠠⠐⠁⠀⢀⠀⠓⠀⠀⠀⢠⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠈⠑⠺⠛⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠐⠀⠀⠀⠀⠂⣯⡋⠁⠁⠀⠁⠀⠀⢄⠀⠈⢧⠄⠀⠀⠀⢀⠐⣀⠠⠔⢊⡔⡀⣄⡀⠀⠈⢶⠆⣠⡀⢸⡔⠣⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⢀⠀⠈⠐⠄⢢⣴⣿⣦⣚⣂⡐⠌⢕⠀⡹⡀⡠⡀⠢⠔⠀⠐⠄⢘⣀⣩⣵⠒⡐⡟⠡⠀⡀⠠⢒⡈⢺⢝⣟⡐⡙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡟⠀⢀⠝⠀⠁⡈⣐⣽⣿⣿⣿⣟⣠⠰⣅⣢⣞⣡⣱⡮⠉⡠⢠⣀⣵⣾⣿⣿⣿⣿⣔⣶⡌⢲⣳⣬⠥⣎⣃⢋⢋⣿⣶⡨⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⠁⠀⢀⡢⠈⠉⠉⠉⠃⢛⢑⠛⠃⡦⡰⣋⣼⣌⣹⣁⣪⣾⣶⣿⣿⣿⣿⣿⣿⣿⣿⡟⡁⢘⣺⣗⡌⣼⡛⢾⣿⣿⣿⣿⣧⣥⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⠀⣠⣔⠕⠀⢀⠂⠀⡀⠀⠙⠤⠴⡒⠛⣿⣿⠟⠁⠙⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣽⣽⠄⢁⣅⡌⠁⣨⣝⡹⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⠀⣶⢍⠄⠠⠀⠖⠀⠀⡀⠀⠀⡀⠉⢄⣟⡇⠁⠀⠀⠪⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣿⡿⣡⡜⡜⡇⣾⣿⣿⣿⢹⣿⣿⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⣹⢿⡝⡆⡔⢁⠀⡆⠙⠡⠄⠀⠈⠀⠁⠘⣿⠀⠀⠀⠈⡙⠻⣿⣿⣿⣿⣿⣿⣿⣿⠟⣃⡬⣾⠐⠁⣴⣿⣿⣿⣇⣆⣿⣿⣾⢏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣧⡘⠚⠁⡘⠀⢐⡖⢁⡖⠻⠠⣦⡁⠒⢨⣤⣿⠆⡀⡔⢀⠃⠀⡀⢁⢉⠌⠉⠀⠰⠐⣶⠻⢡⡟⠉⣰⣿⣿⣿⣿⣿⣧⣏⠛⠙⠿⠽⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣯⠗⠌⠰⠀⢲⠃⠹⡝⠁⣃⣴⣿⠎⠜⠉⠐⠀⠀⠀⠀⠈⠠⠀⡱⣶⣮⣐⢈⡭⠆⣍⠶⠌⢧⠘⣾⣿⣿⣿⣿⣿⡏⡿⣘⢱⠭⠄⢿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣟⡌⠰⠑⠀⠀⠆⡐⡠⣚⣾⠟⠀⠀⠑⠀⠀⠀⠀⠀⠩⢄⢀⠨⢶⠽⢨⣅⠛⢓⣥⡒⣨⠂⠀⡘⣿⣷⣿⣿⣿⣿⡗⡟⢻⢨⡣⣿⡌⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⡸⣌⢭⣦⣱⣦⢰⣦⣌⢁⢲⡴⣀⣐⣀⡀⠀⠀⠀⠀⠏⠘⣶⣤⡀⠚⡯⠻⣏⢫⡟⢿⢀⢢⠱⠈⢛⡻⢿⡟⠿⡥⣃⡭⠤⢺⢽⢑⢽⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠻⣬⢋⠻⣿⣾⣿⣿⣾⣮⣧⣿⣿⣿⣷⣆⣤⡴⣦⣄⣐⣉⣙⠑⢄⢱⡂⢛⢜⡃⠈⠈⠘⡦⣒⠜⠗⢘⠧⢴⠷⢯⣃⣠⣾⣾⣮⣾⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣈⣋⢆⠒⠾⣿⣿⣿⣻⣿⣿⣿⣿⣿⢛⣛⣿⣿⣿⣧⣿⣿⡟⢮⠡⠈⢆⢈⢠⠋⡙⡇⢄⣉⠃⣧⡄⢳⡸⢌⢫⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠣⢡⠴⠹⢟⣶⣿⣽⣿⣿⣯⣽⣿⣿⡟⣻⣿⣿⣿⣿⡆⡼⢡⢣⣂⡇⠾⠇⠙⠃⡸⡌⢅⡑⠃⣀⠳⠡⠘⠶⠉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⢚⢄⠋⣹⣿⡇⣹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣜⣼⡋⣄⣤⣶⣬⢷⣶⠇⢿⡟⠳⣾⢫⠻⡾⠛⣶⠳⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣎⡲⣠⡑⢻⣆⣟⠿⢻⣿⡏⠘⣿⣿⣿⣿⣿⣿⣻⠛⡻⢿⠋⢿⠙⡯⠠⣿⠈⠸⡇⡁⣫⢹⠀⡿⠃⢸⢩⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⡘⢧⡛⢛⣭⢪⢾⣿⣿⣯⣿⣿⣿⣷⣾⣿⣶⣾⣶⣿⣶⣿⣷⣿⣷⣾⣿⣶⣾⣿⣾⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡧⢀⠠⢿⡇⠉⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠐⢠⡆⡈⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢐⡌⠑⡃⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⡏⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡽⢈⠠⠐⣆⠘⣻⣿⢋⣫⠽⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢂⠁⠄⠺⡄⠓⣹⣷⣇⢀⡞⡹⠿⢿⢿⣿⣿⣿⣿⡯⣽⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⡂⠐⢀⠀⠁⣄⠐⠌⢍⠙⠳⡦⣿⡄⡟⢉⡏⠛⣹⢛⣿⠟⡟⢿⣩⡇⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣐⣐⠀⠀⠀⠈⢧⠜⠚⠕⠚⡄⢭⢙⠳⠿⣧⣶⠿⠦⡿⠾⠯⡿⠼⠷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠟⠂⠈⣯⢰⡅⡄⠏⠹⢁⠁⠂⠤⡄⡶⢰⡂⢯⠻⣟⢙⣋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣢⠄⡺⢧⡸⠘⣤⢠⠆⠈⠀⣁⡳⢦⡜⡃⢉⠻⣎⠄⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣴⡀⠈⢃⠙⢤⠑⡆⡀⢇⢹⣏⢻⠃⠺⣇⡸⣘⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠨⠃⠙⡼⠵⠺⠃⠀⠐⠈⠉⠃⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⣀⣀⣀⣠⣴⣦⣬⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
*/
#include "bits/stdc++.h"
using namespace std;
using ll=long long;
using ull=unsigned long long;
#define speed ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define endl "\n"
#define int ll
#define ff first
#define ss second
#define pb push_back
#define all(v) v.begin(),v.end()
const int sz = 2e5 + 9;
const int oo = 1e18 + 7;
const int N = 1e5 + 5;
const int mod = 1e9 + 7;
int phi(int n){
int res=n;
for(int i=2;i*i<=n;i++)
{
if(n%i==0)
{
while(n%i==0)
n/=i;
res-=res/i;
}
}
if(n>1)
res-=res/n;
return res;
}
int binpow(int x, int y,int MOD){
if(!y) return 1;
int res = binpow(x, y / 2,MOD);
if(y % 2 == 1)
return (((res%MOD)*(res%MOD))%MOD)*(x%MOD)%MOD;
return ((res%MOD)*(res%MOD))%MOD;
}
int inv(int n){
return binpow(n,mod-2,mod);
}
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
// vector<int>prime;
// vector<bool>primes(sz, true);
// void sieve()
// {
// primes[0] = primes[1] = false;
// for(int i = 2; i * i < sz; i++){
// if(primes[i] == false)
// continue;
// for(int j = i * i; j < sz; j += i)
// primes[j] = false;
// }
// for(int i = 0; i < sz; i++){
// if(primes[i] == true)
// prime.push_back(i);
// }
// }
void solve(){
int q,A,B;
cin>>q>>A>>B;
int g=gcd(A,B+1);
__int128 dif=(__int128)A/g*B;
set<pair<int,int>>st;
bool ok=0;
while(q--)
{
int l,r;
cin>>l>>r;
if(r-l+1>=dif)
{
ok=1;
break;
}
l%=dif;
r%=dif;
// cout<<l<<" "<<r<<endl;
if(l<=r)
{
for(int t=l;t<=r;t++)
{
int x=(t+t/B)%A;
int y=(t%B);
st.insert({x,y});
}
}
else
{
for(int t=l;t<dif;t++)
{
int x=(t+t/B)%A;
int y=(t%B);
st.insert({x,y});
}
for(int t=0;t<=r;t++)
{
int x=(t+t/B)%A;
int y=(t%B);
st.insert({x,y});
}
}
}
if(ok)
cout<<A/g*B<<endl;
else
cout<<st.size()<<endl;
}
signed main()
{
speed;
int tt=1;
// cin >> tt;
while(tt--)
{
solve();
}
return 0;
}