We consider the file maintenance problem (also called the online labeling problem) in which n integer items from the set {1, . . . , r} are to be stored in an array of size m ≥ n. The items are presented sequentially in an arbitrary order, and must be stored in the array in sorted order (but not necessarily in consecutive locations in the array). Each new item must be stored in the array before the next item is received. If r ≤ m then we can simply store item j in location j but if r > m then we may have to shift the location of stored items to make space for a newly arrived item. The algorithm is charged each time an item is stored in the array, or moved to a new location. The goal is to minimize the total number of such moves the algorithm has to do. This problem is non-trivial when n ≤ m < r. In the case that m = Cn for some C > 1, algorithms for this problem with cost O(log(n)2 ) per item have been given [IKR81, Wil92, BCD+ 02]. lWhen m = n, algorithms with cost O(...