output_description: Print the number of the integers between a and b, inclusive, that are
  divisible by x.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      a b x
attempt: # -*- coding: utf-8 -*-
  import sys
  import math
  import os
  import itertools
  import string
  import heapq
  import _collections
  from collections import Counter
  from collections import defaultdict
  from functools import lru_cache
  import bisect
  import re
  import queue
  from decimal import *
  
  
  class Scanner:
      @staticmethod
      def int():
          return int(sys.stdin.readline().rstrip())
  
      @staticmethod
      def string():
          return sys.stdin.readline().rstrip()
  
      @staticmethod
      def map_int():
          return [int(x) for x in Scanner.string().split()]
  
      @staticmethod
      def string_list(n):
          return [input() for i in range(n)]
  
      @staticmethod
      def int_list_list(n):
          return [Scanner.map_int() for i in range(n)]
  
      @staticmethod
      def int_cols_list(n):
          return [int(input()) for i in range(n)]
  
  
  class Math:
      @staticmethod
      def gcd(a, b):
          if b == 0:
              return a
          return Math.gcd(b, a % b)
  
      @staticmethod
      def lcm(a, b):
          return (a * b) // Math.gcd(a, b)
  
      @staticmethod
      def divisor(n):
          res = []
          i = 1
          for i in range(1, int(n**0.5) + 1):
              if n % i == 0:
                  res.append(i)
                  if i != n // i:
                      res.append(n // i)
          return res
  
      @staticmethod
      def round_up(a, b):
          return -(-a // b)
  
      @staticmethod
      def is_prime(n):
          if n < 2:
              return False
          if n == 2:
              return True
          if n % 2 == 0:
              return False
          d = int(n**0.5) + 1
          for i in range(3, d + 1, 2):
              if n % i == 0:
                  return False
          return True
  
  
  def pop_count(x):
      x = x - ((x >> 1) & 0x5555555555555555)
      x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333)
      x = (x + (x >> 4)) & 0x0F0F0F0F0F0F0F0F
      x = x + (x >> 8)
      x = x + (x >> 16)
      x = x + (x >> 32)
      return x & 0x0000007F
  
  
  MOD = int(1e09) + 7
  INF = int(1e15)
  
  
  def main():
      # sys.stdin = open("sample.txt")
      a, b, x = Scanner.map_int()
      if a == 0 and b == 0:
          print(0)
          return
      print(b // x - ((a - 1) // x))
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  You are given nonnegative integers a and b (a ≤ b), and a positive integer x.
  Among the integers between a and b, inclusive, how many are divisible by x?
samples: [{"input": "4 8 2", "output": "3\n    \n\nThere are three integers between 4 and 8, inclusive, that are divisible by 2:\n4, 6 and 8.\n\n* * *"}, {"input": "0 5 1", "output": "6\n    \n\nThere are six integers between 0 and 5, inclusive, that are divisible by 1: 0,\n1, 2, 3, 4 and 5.\n\n* * *"}, {"input": "9 9 2", "output": "0\n    \n\nThere are no integer between 9 and 9, inclusive, that is divisible by 2.\n\n* * *"}, {"input": "1 1000000000000000000 3", "output": "333333333333333333\n    \n\nWatch out for integer overflows."}]