from hashlib import sha512

# Des. Codes Cryptogr. 33(2)
a = "Mark Goresky and Andrew Klapper: Periodicity and Correlation Properties of d-FCSR Sequences. (2004)"

# TCC (2) 2015
b = "Ran Canetti, Yael Tauman Kalai and Omer Paneth: On Obfuscation with Random Oracles. (2015)"

# Cryptologia 10(1)
c = "David Kahn: Secrets of the Codebreakers. (1986)"

# CT-RSA 2007
d = "Mario Lamberger, Norbert Pramstaller, Christian Rechberger and Vincent Rijmen: Second Preimages for SMASH. (2007)"

# EUROCRYPT 2013
e = "Patrick Derbez, Pierre-Alain Fouque and Jérémy Jean: Improved Key Recovery Attacks on Reduced-Round AES in the Single-Key Setting. (2013)"

# Financial Cryptography 2003
f = "Javier Herranz and Germán Sáez: Verifiable Secret Sharing for General Access Structures, with Application to Fully Distributed Proxy Signatures. (2003)"

# C2SI 2019
g = "Yongge Wang and Qutaibah M. Malluhi: Reusable Garbled Turing Machines Without FHE. (2019)"

# CRYPTO 2000
h = "Masayuki Abe and Tatsuaki Okamoto: Provably Secure Partially Blind Signatures. (2000)"

# Cryptologia 38(2)
i = "Chris Christensen: The National Cash Register Company Additive Recovery Machine. (2014)"

#  ICISC 2003
j = "Jonathan Katz: Binary Tree Encryption: Constructions and Applications. (2003)"

# CRYPTO 1994
k = "Olivier Delos and Jean-Jacques Quisquater: An Identity-Based Signature Scheme with Bounded Life-Span. (1994)"

# J. Mathematical Cryptology 9(2)
l = "Shlomi Dolev, Juan A. Garay, Niv Gilboa, Vladimir Kolesnikov and Yelena Yuditsky: Towards efficient private distributed computation on unbounded input streams. (2015)"


def H(s):
	return int.from_bytes(sha512(s.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
