from hashlib import sha512


#  IMA Int. Conf. 1999:
a = "Patrick G. Farrell and Seyed H. Razavi: Graph Decoding of Array Error-Correcting Codes. (1999)"

# Des. Codes Cryptogr. 9(1): 105-114 
b = "Tran van Trung: A Generalization of a Theorem of Dehon for Simple t-Designs. (1996)"

# EUROCRYPT 2001
c = "William Aiello, Yuval Ishai and Omer Reingold: Priced Oblivious Transfer: How to Sell Digital Goods. (2001)"

#  Des. Codes Cryptogr. 86(9): 2091-2113
d = "Yun Fan and Bangteng Xu: Fourier transforms and bent functions on finite groups. (2018)"

# WEWoRC 2005
e = "Alexandre Ruiz and Jorge Luis Villar: Publicly Verfiable Secret Sharing from Paillier's Cryptosystem. (2005)"

# ACNS 2014
f = "Céline Blondeau, Andrey Bogdanov and Meiqin Wang: On the (In)Equivalence of Impossible Differential and Zero-Correlation Distinguishers for Feistel- and Skipjack-Type Ciphers. (2014)"

# Cryptologia 34(3): 211-224
g = "Jacob Konikoff and Seth Toplosky: Analysis of Simplified DES Algorithms. (2010)"

# EUROCRYPT 2012
h = "Abhishek Banerjee, Chris Peikert and Alon Rosen: Pseudorandom Functions and Lattices. (2012)"

# IJACT 1(1): 32-46
i = "Gaëtan Leurent: Message Freedom in MD4 and MD5 Collisions: Application to APOP. (2007)"

# ACNS 2005
j = "Sencun Zhu, Chao Yao, Donggang Liu, Sanjeev Setia and Sushil Jajodia: Efficient Security Mechanisms for Overlay Multicast-Based Content Distribution. (2005)"

# Cryptologia 25(2): 91-94
k = "Jonathan Winkler: From the Archives Early Corporate espionage amid World War I Censorship. (2001)"

# CRYPTO 2003
l = "Matthew Cary and Ramarathnam Venkatesan: A Message Authentication Code Based on Unimodular Matrix Groups. (2003)"



def H(s):
	return int.from_bytes(sha512(s.strip().encode('utf8')).digest(), byteorder='big')

assert (H(a) & H(b) & H(c) & H(d)) ^ (H(e) & H(f) & H(g) & H(h)) ^ (H(i) & H(j) & H(k) & H(l)) == 0
